如何将String拆分为多个值?

你怎么分裂一个字符串?

可以说我有一个字符串“狗,猫,老鼠,鸟”

我的实际目标是将每个动物插入一个列表框,这样它们就会成为列表框中的项目。

但我想如果我知道如何拆分字符串,我会想到如何插入这些项目。 还是有人知道更好的方法吗?

即时通讯使用asp c#

string[] tokens = text.Split(','); for (int i = 0; i < tokens.Length; i++) { yourListBox.Add(new ListItem(token[i], token[i])); } 

你试过String.Split吗? 如果你想要“a,b,c”结束为{“a”,“b”,“c”}但是“ab,c”结束为{“ab”,你可能需要一些后处理来删除空白“, “C”}。

例如:

 private readonly char[] Delimiters = new char[]{','}; private static string[] SplitAndTrim(string input) { string[] tokens = input.Split(Delimiters, StringSplitOptions.RemoveEmptyEntries); // Remove leading and trailing whitespace for (int i=0; i < tokens.Length; i++) { tokens[i] = tokens[i].Trim(); } return tokens; } 

不用Linq版;

 from s in str.Split(',') where !String.IsNullOrEmpty(s.Trim()) select s.Trim(); 

或者干脆:

 targetListBox.Items.AddRange(inputString.Split(',')); 

或者这是为了确保修剪字符串:

 targetListBox.Items.AddRange((from each in inputString.Split(',') select each.Trim()).ToArray()); 

哎呀! 正如评论指出的那样,错过了它是ASP.NET,因此无法从字符串数组初始化 – 需要这样做:

 var items = (from each in inputString.Split(',') select each.Trim()).ToArray(); foreach (var currentItem in items) { targetListBox.Items.Add(new ListItem(currentItem)); } 

它通过strVar.Split为您提供了一个字符串数组

 "dog, cat, mouse,bird".Split(new[] { ',' });