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

若本文有帮助到阅读本文的同学,欢迎点赞、关注、收藏,互相学习交流。

最新文章

  1. asp.net LINQ连接数据库SQL执行数据的增加、修改、删除、查询操作
  2. Android 高仿微信支付密码输入控件
  3. 移动开单扫描终端-全触屏互联网安卓打印扫描 PDAPOS机——开单扫描POS-移动开单扫描POS
  4. string和vector
  5. 【转】CentOS中vsftp安装、配置、卸载
  6. 洛谷P1202 [USACO1.1]黑色星期五Friday the Thirteenth
  7. Linux驱动设计编译错误信息集锦
  8. OpenStack Hacker养成指南
  9. Android 调用系统的拍相程序进行录像
  10. MenuInflater用法
  11. 【docker】docker初试与填坑
  12. ASP.NET Core 入门教程 1、使用ASP.NET Core 构建第一个Web应用
  13. 设计模式のCommand Pattern(命令模式)----行为模式
  14. 文件夹生成zip
  15. Java中equals()和“==”区别
  16. TV Show Game 【2-SAT】
  17. SQL语句关联查询
  18. 特征向量-Eigenvalues_and_eigenvectors#Graphs 线性变换
  19. 配置redis, make的时候: zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
  20. nginx模块学习

热门文章

  1. hashlib/subprocess/logging模块
  2. 【Advanced Installer】打包winfrom程序出现您没有任何数字签名的实用程序。请安装平台 SDK。错误
  3. python-opencv实现抖动算法
  4. 关于python实现与体重秤蓝牙ble通信研究(Linux)
  5. 100以内能被7整除的前五个数-Java
  6. 零基础入门数据挖掘——二手车交易价格预测:baseline
  7. MySQL进阶实战6,缓存表、视图、计数器表
  8. Windows10下python3和python2同时安装(二)python2.exe、python3.exe和pip2、pip3设置
  9. dotnet new cli 以及Abp-cli命令的简单使用
  10. 在Maven中出现javax.mail中文乱码问题解决记录