[英]How to remove empty item from List<string>?
我一直在嘗試從列表中刪除空項目,這是我的意思:
list1.Add("1")
list1.Add("")
list1.Add(" ")
list1.Add("2")
輸出:1 2
這是我嘗試過的:
List<string> list = new List<string>();
List<string> list1 = new List<string>();
list.Add("1 3");
list.Add(" ");
list.Add(" ");
list.Add("2");
for(int i = 0; i < list.Count(); i++)
{
MatchCollection mc = Regex.Matches(list[i], @"\s");
foreach(Match m in mc)
{
if (!list.Contains(m.ToString()))
list1.Add(m.ToString());
}
}
我是編程新手,所以很抱歉這個問題不好
list.RemoveAll(string.IsNullOrWhiteSpace);
盡管要小心,但IsNullOrWhiteSpace
檢查的不僅僅是空格。 有關完整列表,請檢查https://docs.microsoft.com/zh-cn/dotnet/api/system.char.iswhitespace?view=netframework-4.7.2
您不需要正則表達式,可以使用string.IsNullOrWhiteSpace
方法。
foreach(var item in list)
{
if(!string.IsNullOrWhiteSpace(item))
{
list1.Add(item);
}
}
使用LINQ的另一種方法:
var filteredList = list.Where(x => !string.IsNullOrWhiteSpace(x)).ToList();
您可以使用方法string.IsNullOrWhiteSpace()
List<string> listWithEmtyAndNullElements = new List<string>
{ "",
" ",
"Hi",
"Stack ",
" Overflow",
null
};
List<string> onlyStringList = new List<string>();
for (int i = 0; i < listWithEmtyAndNullElements.Count; i++)
{
if (!string.IsNullOrWhiteSpace(listWithEmtyAndNullElements[i]))
{
onlyStringList.Add(listWithEmtyAndNullElements[i]);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.