读书人

怎样将一句话中的中文字分割开来解决办

发布时间: 2012-04-13 13:50:24 作者: rapoo

怎样将一句话中的中文字分割开来
“我是中国人!”,请教下各位怎么将这句话分割成单个中文字存储于数组中。
提示:
MyString.Chars(i)//可以获取到第几个字,i=0开始,为零是第一个字,在上句中就是“我”字;
定义了一个数组
Dim targetArray As String() = MyString.Chars(i)
怎么把“我”“是”“中”“国”“人”这5个字分割后放入数组?
使用循环吗?

[解决办法]
.net里字符串都是unicode字符,一个中文就是一个字符。
Dim s As String = "我是中国人"
Dim arr As String() = s.ToCharArray()
之后
arr 就是 {“我”“是”“中”“国”“人”}
或者
for i as int = 0 to s.length
console.writeline(s(i))
next
输出:





[解决办法]
写了下python,这个for循环里索引值有点混乱- -
for i as int = 0 to s.length - 1
[解决办法]

C# code
string s = "我是中国人";string array[] = s.ToList().Select(x => new string(new char[] { x })).ToArray();
[解决办法]

VB.NET code
Dim re As New Regex("[\u4e00-\u9fa5]", RegexOptions.None)Dim mc As MatchCollection = re.Matches("我是中国人!")For Each ma As Match in mc  //ma.Value就是你要的。。。Next
[解决办法]
同1楼,简单的一个ToCharArray()即可。

C# code
string source = @"我是中国人";char[] result = source.ToCharArray();foreach (var item in result)    Console.WriteLine(item);
[解决办法]
探讨

C# code
string s = "我是中国人";
string array[] = s.ToList().Select(x => new string(new char[] { x })).ToArray();

[解决办法]
VB.NET code
Dim s As String = "我是中国人"Dim array As String() = s.ToList().    Where(Function(x) x >= &H4e00 And x <= &H9fa5).    Select(Function(x) new String(New Char() { x })).    ToArray()
[解决办法]
探讨
“我是中国人!”,请教下各位怎么将这句话分割成单个中文字存储于数组中。
提示:
MyString.Chars(i)//可以获取到第几个字,i=0开始,为零是第一个字,在上句中就是“我”字;
定义了一个数组
Dim targetArray As String() = MyString.Chars(i)
怎么把“我”“是”“中”“国”“人”这5个字分割后放入数组?
使用循环吗?

读书人网 >VB Dotnet

热点推荐