去除字符串中的重复字符

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为所输出的字符串

 

以上几种方式摘自网络,集中放置,便于查询。

转载于:https://www.cnblogs.com/enjoyprogram/archive/2012/04/27/2473765.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值