标题:中英文数字符号混编的字符串问题
只看楼主
ilsoviet1917
Rank: 2
等 级:论坛游民
帖 子:103
专家分:26
注 册:2010-5-11
结帖率:84.21%
 问题点数:0 回复次数:0 
中英文数字符号混编的字符串问题
把中英文数字符号混编的字符串按照不同类型截取,比如“这是我的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编辑过]

搜索更多相关主题的帖子: 英文 字符 字符串 StringBuilder 混编 
2022-04-25 14:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508941-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.147714 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved