.net 字符串逗號隔開去重
1、本文背景
同時輸入/選擇多條信息或批量輸入/選擇多條信息形成一個逗號隔開的字符串集,會出現數據重復的錯誤情況,產生不必要的臟數據,本文依次收集測試幾種有效的去重方法。
2、代碼實現
1)方法一:List集合和Contains
string str1 = "1,2,3,4,5,6,7,6,5,4,3,2,1";
var testList = arrayInfo(str1);
string resultStr = string.Join(",", testList);
Console.WriteLine(resultStr);
Console.Read();
#region 內部調用
List <string> arrayInfo(string str)
{
string[] array = str.Split(',');
var list = new List < string > ();
foreach(var item in array)
{
if(!list.Contains(item))
{
list.Add(item);
}
}
return list;
}
#endregion
// 輸出結果: 1,2,3,4,5,6,7
2)方法二:正則表達式
string str2 = "1,2,3,4,5,6,7,6,5,4,3,2,1";
str2 = Regex.Replace(str2 + ",", @"(?:([^,]+,))(?=.*?\1)", "");
Console.WriteLine(str2.Substring(0, str2.Length - 1));
Console.Read();
// 輸出結果: 7,6,5,4,3,2,1
3)方法三:Linq語句(推薦)
string str3 = "1,2,3,4,5,6,7,6,5,4,3,2,1";
str3 = string.Join(",", str3.Split(',').Distinct().ToArray());
Console.WriteLine(str3);
Console.Read();
// 輸出結果: 1,2,3,4,5,6,7
若本文有幫助到閱讀本文的同學,歡迎點贊、關注、收藏,互相學習交流。
本文來自博客園,作者:GoodTimeGGB,轉載請注明原文鏈接:http://www.rzrgm.cn/goodtimeggb/p/17046156.html

浙公網安備 33010602011771號