我在玩 Golang 时发现了这个问题。我可以使用以下代码来获取基于字节的索引:
strings.Index("您好你好", "你好")
我得到的是 6,它是基于字节计数的。
如果我们指望 rune (字符),我们应该得到 2,这正是我想要的。我怎样才能得到我想要的?
谢谢。
最佳答案
您可以使用 utf8.RuneCountInString()
方法:
import (
"fmt"
"strings"
"unicode/utf8"
)
func main() {
input_string := "您好你好"
byte_index := strings.Index(input_string, "你好")
fmt.Println(utf8.RuneCountInString(input_string[:byte_index]))
}
关于string - 如何根据 rune 而不是 Go 中的字节获取子字符串索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39189365/