use*_*268 1 string unicode substr go
我正在玩 Golang 并发现了这个问题。我可以使用以下代码来获取基于字节的索引:
\n\nstrings.Index("\xe6\x82\xa8\xe5\xa5\xbd\xe4\xbd\xa0\xe5\xa5\xbd", "\xe4\xbd\xa0\xe5\xa5\xbd")\nRun Code Online (Sandbox Code Playgroud)\n\n我得到的是 6,它是基于字节计数的。
\n\n如果我们依靠符文(字符),我们应该得到 2,这就是我想要的。我怎样才能得到我想要的东西?
\n\n谢谢。
\n您可以使用utf8.RuneCountInString()方法:
import (\n "fmt"\n "strings"\n "unicode/utf8"\n)\n\nfunc main() {\n input_string := "\xe6\x82\xa8\xe5\xa5\xbd\xe4\xbd\xa0\xe5\xa5\xbd"\n byte_index := strings.Index(input_string, "\xe4\xbd\xa0\xe5\xa5\xbd")\n fmt.Println(utf8.RuneCountInString(input_string[:byte_index]))\n}\nRun Code Online (Sandbox Code Playgroud)\n