[golang的坑]strings.Index 是算字节,而不是算 utf8 字符串
clq
浏览(444) -
2023-05-03 18:35:42 发表
编辑
关键字:
[golang的坑]strings.Index 是算字节,而不是算 utf8 字符串
//分隔字符串为两部分
// func (f *TMainForm_executefw_sp) SpliteString_ForLeft(s string, count int) (string, string) {
func (f *TMainForm_executefw_spLeft) SpliteString_ForLeft(s string, sp string) (string, string) {
l := "";
r := "";
//sp := f.txtFind.Text();
//sp_len := strlen_utf8(sp);
sp_len := strlen_bin(sp);
//len := strlen(s);
//len := strlen_utf8(s);
len := strlen_bin(s);
//count := strings.Index(s, sp);
count := strings.Index(s, sp); //strings.Index 是算字节,而不是算 utf8 字符串,所以其他的也要改为二进制形式
if (count<0){ //没找到
l = s;
return l, r;
}//
//l = SubString(s, 0, count);
l = SubString_byte(s, 0, count);
//r = SubString(s, count, len - count);
//r = SubString(s, count + sp_len, len - count - sp_len); //还要减去分隔符的长度
r = SubString_byte(s, count + sp_len, len - count - sp_len); //还要减去分隔符的长度
return l, r;
}//
本帖子属于以下条目()
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.