这串.NET逗号分隔字符串,去重后如何提问?

摘要:1、本文背景 同时输入选择多条信息或批量输入选择多条信息形成一个逗号隔开的字符串集,会出现数据重复的错误情况,产生不必要的脏数据,本文依次收集测试几种有效的去重方法。 2、代码实现 1)方法一:List集合和Contains strin
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 若本文有帮助到阅读本文的同学,欢迎点赞、关注、收藏,互相学习交流。