• c# 过滤字符串中的重复字符


    有字符串"a,s,d,v,a,v",如果想去除其中重复的字符,怎么做?

    下面是一个方法,用Hashtable来记录唯一字符,排除重复字符,仅供参考。

    1.过滤方法:

    public class OperationString
        {
            /// <summary>
            /// 过滤字符串中的重复字符
            /// </summary>
            /// <param name="str">要过滤的字符串</param>
            /// <returns>返回过滤后的字符串</returns>
            public string FilterRepetitionChar(string sourceStr)
            {
                string returnStr = string.Empty;
                string[] strList = sourceStr.Split(',');
                Hashtable ht = new Hashtable();
                foreach (string strChar in strList)
                {
                    if (!ht.ContainsKey(strChar))
                    {
                        ht.Add(strChar, strChar);//这里让ht的key和value值相等,不影响下面的程序
                        returnStr += strChar + ",";//字符以逗号分隔
                    }
                }
                returnStr = returnStr.Trim(',');//去掉最后一个逗号
                return returnStr;
            }
        }

    2.程序入口:

    class Program
        {
            static void Main(string[] args)
            {
                string sourceString = "a,b,c,d,a,b";
                string newString = string.Empty;
    
                OperationString os = new OperationString();
                newString = os.FilterRepetitionChar(sourceString);
    
                Console.WriteLine("过滤前的字符串:" + sourceString);
                Console.WriteLine("----------------------------------");
                Console.WriteLine("过滤后的字符串:" + newString);
    
                Console.ReadKey();
            }
        }

    3.运行结果:

    过滤前的字符串:a,b,c,d,a,b

    ----------------------------------
    过滤的字符串:a,b,c,d
     
     
  • 相关阅读:
    C#控制键盘大小写切换
    C#表示空字符
    正则表达式30分钟入门教程[转自deerchao]
    学习deercao的正则笔记
    c# winform 全角自动转化半角问题(C#中ImeMode的值)
    C# 键盘中的按键对应的KeyValue
    这个Replace可以忽略大小写
    Keys枚举
    反射总结
    C# 中 KeyPress 、KeyDown 和KeyPress的详细区别[转]
  • 原文地址:https://www.cnblogs.com/qk2014/p/4448732.html
Copyright © 2020-2023  润新知