注册 登录
编程论坛 C# 论坛

中英文数字符号混编的字符串问题

ilsoviet1917 发布于 2022-04-25 14:48, 822 次点击
把中英文数字符号混编的字符串按照不同类型截取,比如“这是我的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编辑过]

0 回复
1