去除字符串中的重复字符
A、若字符串为 "COOCON";样式
方法一:正则表达式
string str = "COOCON";
str = Regex.Replace(str, "(?s)(.)(?=.*\\1)", "");
Console.WriteLine(str);
/*--------------------------------------------------------- (?s)(.)(?=.*\1) 表达式说明
(?s) 开启单行模式 DOTALL 让. 号匹配任意字符 (.) 任意字符 并捕获在第一组 (?=.*\1) 这是断言, 表示后面内容将是 任意个字符加上第一组所捕获的内容
这样子,如果这整个式子匹配到,表示,第一个捕获组内容在字符串中,至少出现两次,替换为 "" 空串.
进行 全局替换后, 整个字符串所出现的字符将不重复。 --------------------------------------------------------- */
方法二:
string str = "COOCON";
string str1 = "";
ArrayList Alist = new ArrayList();
foreach (char ch in str.ToCharArray())
{
if (!Alist.Contains(ch))
{
Alist.Add(ch);
}
}
foreach (object o in Alist )
{
str1 =str1+ o.ToString();
}
Console.WriteLine(str1);
B、
输入的数组格式: strinput=”001,002,003,001,001,003,005”;
要求输出的格式: stroutput=”001,002,003,005”;
具体的程序如下: 程序后台进行处理,因用到list ,需添加引用以下命名空间 using System.Collections.Generic;
程序正式代码:
string strinput="001,002,003,001,001,003,005";
string strouput="";
Array stringArray = strinput.Split(',');
List<string> listString = new List<string>();
//遍历删除重复项 foreach (string eachString in stringArray)
{
if (!listString.Contains(eachString))
listString.Add(eachString);
}
//遍历输出 foreach (string string1 in listString)
//测试值 { strouput=strouput+string1+','; }
strouput=strouput.Substring(0,strouput.Length-1);
//strouput为所输出的字符串
以上几种方式摘自网络,集中放置,便于查询。