Go 如何更改&x2019;至';在戈兰?
假设在csv文件中有1000个用户记录,而在读取该文件时,700个用户的姓氏中有此符号Go 如何更改&x2019;至';在戈兰?,go,Go,假设在csv文件中有1000个用户记录,而在读取该文件时,700个用户的姓氏中有此符号,,我必须使用golang将该符号更改为,。有什么技术或功能可以解决我的问题吗 例如,当我打印这个“时 package main import ( "fmt" ) func main() { strVal := "O’max" for i:= 0; i< len(strVal);i++{ fmt.Println(string(strVal[i])) } } 您正面临unico
,
,我必须使用golang将该符号更改为,
。有什么技术或功能可以解决我的问题吗
例如,当我打印这个“
时
package main
import (
"fmt"
)
func main() {
strVal := "O’max"
for i:= 0; i< len(strVal);i++{
fmt.Println(string(strVal[i]))
}
}
您正面临unicode问题的挑战。问题是您迭代的是字节,而不是字符。同时,您的unicode字符
“
需要3个字节,这就是为什么您有这样的输出。为了正确处理它,您需要使用rune进行迭代,它将处理unicode字节
func convert(src string) string {
var sb strings.Builder
for _, el := range src {
if el == '’' {
sb.WriteString("'")
} else {
sb.WriteRune(el)
}
}
return sb.String()
}
然后,你需要转换的地方,你必须打电话
strVal = convert(strVal)
您与的完整场景在中
阅读中有关符文的更多信息?@tkausl你能写一个小的游乐场示例吗?文档中有一个示例哦,好的@tkausl谢谢。还有其他解决办法吗
strVal = convert(strVal)