既然给了List,应该不是需要用正则解的题目。这样?List<string> lists = new List<string>() { ":", ":", ";", ";", "。", ".", ",", ",", " " }; string s = "测试:的确有的;可以了。"; string result = new string((from c in s select lists.Contains(c.ToString()) ? ',' : c).ToArray());
或是List<string> lists = new List<string>() { ":", ":", ";", ";", "。", ".", ",", ",", " " }; string s = "测试:的确有的;可以了。"; string result = new string(s.ToCharArray().Select(c => lists.Contains(c.ToString()) ? ',' : c).ToArray());
如果源字符串稍微长一点,fdh120这个效率相当低。面试千万别这么做。
string a = Regex.Replace(字符串, "[::;;。.,, ]", ",");
string s = "金泓达服饰借记卡:辅导书。看的";
lists.FindAll(p => s.Contains(p)).ForEach(p => s=s.Replace(p, ","));
string s = "测试:的确有的;可以了。";
string result = new string((from c in s select lists.Contains(c.ToString()) ? ',' : c).ToArray());
string s = "测试:的确有的;可以了。";
string result = new string(s.ToCharArray().Select(c => lists.Contains(c.ToString()) ? ',' : c).ToArray());