C# 字符串到使用c中的子字符串的字符串列表
我有一根装有子弹的绳子 *苹果*芒果*香蕉*沙波塔 我想创建一个字符串{苹果、芒果、香蕉、沙波塔}的列表。 如果可用,建议使用字符串的任何其他方法。拆分: 如果要删除空条目,请执行以下操作:C# 字符串到使用c中的子字符串的字符串列表,c#,list,substring,C#,List,Substring,我有一根装有子弹的绳子 *苹果*芒果*香蕉*沙波塔 我想创建一个字符串{苹果、芒果、香蕉、沙波塔}的列表。 如果可用,建议使用字符串的任何其他方法。拆分: 如果要删除空条目,请执行以下操作: string test = "*apple*mango*banana*sapota"; List<string> l = test.Split('*').Where(x=>x!=String.Empty).ToList(); 尝试使用string.Split和StringSplitOp
string test = "*apple*mango*banana*sapota";
List<string> l = test.Split('*').Where(x=>x!=String.Empty).ToList();
尝试使用string.Split和StringSplitOptions.RemoveEmptyEntries选项
String.Split是您要查找的:
用这个
string s = "*apple*mango*banana*sapota.";
string[] lst = s.Split('*');
删除空条目实际上可以这样做:test.Splitnew[]{'*},StringSplitOptions.removeMptyEntries您是对的,但已经有一个这样的答案了。我不想复制它。顺便问一下,你认为他们在性能方面是否相同?性能方面很难评论。但是,几乎可以肯定的是,在构建初始数组(即string.Split)时最好处理空条目,而不是再次迭代整个数组以删除空条目。使用LINQ性能会更差。在后台,他们将为循环做同样的事情,但是LINQ在运行时使用延迟执行时会有一个非常小的开销。
string test = "*apple*mango*banana*sapota";
List<string> l = test.Split('*').Where(x=>x!=String.Empty).ToList();
var list = yourString.Split(new[] {'*'},
StringSplitOptions.RemoveEmptyEntries).ToList();
string s = "*apple*mango*banana*sapota.";
string[] lst = s.Split('*');
String str="*apple*mango*banana*sapota";
List<String> lst = new List<string>();
String [] strArray= str.Split('*');
foreach (String str1 in strArray)
{
if(str1!="")
lst.Add(str1);
}
apple
mango
banana
sapota
string names = "*apple*mango*banana*sapota";
List<string> test = new List<string>();
string[] namesplit = names.Split('*');
foreach(string namearry in namesplit)
{
test.Add(namearry);
test.ToArray();
}