中英文数字符号混编的字符串问题
把中英文数字符号混编的字符串按照不同类型截取,比如“这是我的iPhone13,那是你的Meta30。”截取成:
“这是我的”
“iPhone”
“13”
“,”
“那是你的”
“Meta”
“30”
“。”
然后再按顺序把这八个字符串存入到一个集合。
我不知道这种想法是否能够实现,判断字符类型是用正则表达式方便呢?还是逐个字符判断方便?
程序代码:
ArrayList al = new ArrayList(); StringBuilder sb = new StringBuilder ("这是我的iPhone 13, 这个是你的Mate 30。"); StringBuilder resultOfSplit = new StringBuilder(); for (int i = 0; i < sb.Length; i++) { if (sb[i] >= 0x4e00 && sb[i] <= 0x9fbb) { resultOfSplit.Append(sb[i]); } else { sb.Remove(0, i); break; } al.Add(resultOfSplit); } Console.WriteLine("这是al:" + al[0] + "\n"); Console.WriteLine("筛选后的sb:\n" + sb);
这样只能提取到”这是我的“几个字,但是在sb删除这四个字以后,不知道怎么重新开始继续提取之后的字符串了。
[此贴子已经被作者于2022-4-25 17:15编辑过]