【发布时间】:2016-08-14 04:53:34
【问题描述】:
我正在尝试检查字符串中的第一个字符是否与以下字符匹配,请注意 UTF-8 引号字符:
c := t.Content[0]
if c != '.' && c != ',' && c != '?' && c != '“' && c != '”'{
由于最后两次检查中的特殊字符,此代码不起作用。
这样做的正确方法是什么?
【问题讨论】:
-
t.Content是string类型的吗? -
Content[0]访问第一个 字节 而不是第一个字符/代码点/符文。在 UTF-8 中,符文可能由多个字节表示。将您的字符串转换为符文切片 ([]rune(t.Content)) 或使用 unicode/utf8/DecodeRuneInString 和相关函数。 -
哇,“符文切片”。我不知道那个,那也可以解决它。谢谢!