c#过滤字符串中相同的字符串只保留一个

本文介绍了两种去除字符串中重复姓名的方法:一种是通过遍历和比较实现的传统方式;另一种是利用LINQ进行简洁高效的处理。这两种方法都能从一个包含多个姓名(可能重复)的字符串中去除重复项。

方法一,原生态:调用filterRepeatChar( "朱雅君,姚怡尔,涂静,涂静,刘刚,姚怡尔")

  

  public static string filterRepeatChar(string _val)
    {
        string _str = string.Empty;
        string[] strArray = _val.Split(',');
        for (int i = 0; i < strArray.Length; i++)
        {
            for (int j = i + 1; j < strArray.Length; j++)
            {
                if (strArray[j] == strArray[i])
                {
                    strArray[i] = string.Empty;
                }
            }
            if (strArray[i] != string.Empty)
                _str += strArray[i] + ",";
        }
        if (_str.LastIndexOf(",") > -1)
            _str = _str.Substring(0, _str.Length - 1);
        return _str;
    }

 

方法二,用linq实现filterRepeatCharToLinq("朱雅君,姚怡尔,涂静,涂静,刘刚,姚怡尔s")

 public static string filterRepeatCharToLinq(string _val)
    {

           var wq = from p in _val.Split(',').Distinct()
                 select p;

        string rw = "";
        foreach (var kk in wq)
        {
            rw += kk.ToString() + ",";
        }
        rw = rw.TrimEnd(',');

        return rw;

    }

 

  

  

转载于:https://www.cnblogs.com/xiachufeng/archive/2012/04/01/2428151.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值