1. 首页
  2. 主题
  3. Go问与答

关于 golang 判断字符串+ 英文 长度

hellsam · · 3519 次点击
~~~ 假如 aa:= "中国abc" fmt.Println(len(aa)) //返回 9 因为我要判断一个字符串的 标题 和 内容 标题==100限制 内容==4000限制 if (len(aa) >4000){ //这里明显错误了, 因为文章里可能包含 英文 和 中文字符 ,一个中文字符占用3个字节 //然后截取 0~4000的字符 其余不要 aa = aa[0:4000] //这样截取出来的字符串明显不正确的, 中英文 的文章组合 判断有点难啊 没思路了 } ~~~
```go str := "其实我来问题的" runes := []rune(str) if len(runes) > 3 { fmt.Println("===", string(runes[0:3])) } ``` 要用转换后的切片去截取,你直接用string截取是错误的,`aa[0:3] == "其"`,而 `runes[0:3] == "其实我"`。然后最终还是要把 `[]rune` 转为 `string`的
#4
更多评论
将字符串转换为`[]rune`类型
#1
<a href="/user/abin" title="@abin">@abin</a> 嗯 查看长度正确了 哪么截取呢 如 超过4000个字符 只截取 0~3个 其余不要 我这样写的 返回的是数字 不是中文 ~~~ aa := &#34;其实我来问题的&#34; if len([]rune(aa)) &gt; 3 { fmt.Fprintln(w, []rune(aa[0:3])) } 在这里返回的是一串数字 [27784] 而并非是我想要的 "其实我" 的字符串 ~~~
#2

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中