有字符串"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