我有一个字符串数组。我需要从该阵列中删除一些项目。但我不知道需要删除的项目的索引。查找并从c中删除项目#
我的数组是:string [] arr = {“”,“a”,“b”,“”,“c”,“”,“d”,“”,“e”,“f”, “”,“”}。
我需要删除“”项目。即删除“”我的结果应该是 arr = {“a”,“b”,“c”,“d”,“e”,“f”}
我该怎么做?
我有一个字符串数组。我需要从该阵列中删除一些项目。但我不知道需要删除的项目的索引。查找并从c中删除项目#
我的数组是:string [] arr = {“”,“a”,“b”,“”,“c”,“”,“d”,“”,“e”,“f”, “”,“”}。
我需要删除“”项目。即删除“”我的结果应该是 arr = {“a”,“b”,“c”,“d”,“e”,“f”}
我该怎么做?
string[] arr = {" ", "a", "b", " ", "c", " ", "d", " ", "e", "f", " ", " "};
arr = arr.Where(s => s != " ").ToArray();
这将删除所有条目为空,空,或者只包含空格:
arr.Where(s => !string.IsNullOrWhiteSpace(s)).ToArray();
如果由于某种原因,你只需要在你的榜样删除像只用一个空格的条目,你可以修改它像这样:
arr.Where(s => s != " ").ToArray();
使用LINQ
using System.Linq;
string[] arr= {" ","a","b"," ","c"," ","d"," ","e","f"," "," "}.
arr.Where(x => !string.IsNullOrWhiteSpace(x)).ToArray();
或取决于你如何填写,你可以前
string[] arr = stringToBeSplit.Split('/', StringSplitOptions.RemoveEmptyEntries);
然后空项做数组不会把你的字符串数组首先
.NET是什么版本的?在.NET 3.5中引入的一些LINQ扩展方法将是完美的。 – GregL 2012-02-21 10:08:12
这里有几个问题和答案。检查出http://stackoverflow.com/questions/457453/remove-element-of-a-regular-array – 2012-02-21 10:08:52