List<string> lists = new List<string>(){
                ":",":",";",";","。",".",",",","," "
            };现在我要判断一个字符串是不是包含上面的特殊字符,如何有的话就用","号替换,用LINQ或者Lambda或者匿名方法实现怎么做,给出相关代码。

解决方案 »

  1.   

    string a = Regex.Replace(字符串, "[::;;。.,, ]", "");
      

  2.   

    //用正则替换一下就好了,想什么什么替换成  ,就那个符号加到中括号中就好了string a = Regex.Replace(字符串, "[::;;。.,, ]", ",");
      

  3.   

    string a = Regex.Replace(字符串, "[::;;。.,, ]", ",");
      

  4.   

    lambda表达式List<string> lists = new List<string>() { ":", ":", ";", ";", "。", ".", ",", ",", " " };
                string s = "金泓达服饰借记卡:辅导书。看的";
                lists.FindAll(p => s.Contains(p)).ForEach(p => s=s.Replace(p, ","));
      

  5.   

    既然给了List,应该不是需要用正则解的题目。这样?List<string> lists = new List<string>() { ":", ":", ";", ";", "。", ".", ",", ",", " " };
    string s = "测试:的确有的;可以了。";
    string result = new string((from c in s select lists.Contains(c.ToString()) ? ',' : c).ToArray());
      

  6.   

    或是List<string> lists = new List<string>() { ":", ":", ";", ";", "。", ".", ",", ",", " " };
    string s = "测试:的确有的;可以了。";
    string result = new string(s.ToCharArray().Select(c => lists.Contains(c.ToString()) ? ',' : c).ToArray());
      

  7.   

    如果源字符串稍微长一点,fdh120这个效率相当低。面试千万别这么做。
      

  8.   

    string a = Regex.Replace(字符串, "[::;;。.,, ]", ",");