您的位置:首页 > 其它

去除字符串中的重复字符

2012-04-27 16:27 549 查看
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为所输出的字符串

以上几种方式摘自网络,集中放置,便于查询。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: