替换字符串中的所有特殊字符IN C#
我想在字符串中找到所有特殊字符并替换为连字符( – )
我使用以下代码
string content = "foo,bar,(regular expression replace) 123"; string pattern = "[^a-zA-Z]"; //regex pattern string result = System.Text.RegularExpressions.Regex.Replace(content,pattern, "-");
产量
富巴 – 正则表达式替换—-
我在输出中多次出现连字符(—)。
我想得到一些像这样的东西
FOO-BAR-正则表达式替换
我如何实现这一目标
任何帮助,将不胜感激
谢谢Deepu
为什么不这样做:
public static string ToSlug(this string text) { StringBuilder sb = new StringBuilder(); var lastWasInvalid = false; foreach (char c in text) { if (char.IsLetterOrDigit(c)) { sb.Append(c); lastWasInvalid = false; } else { if (!lastWasInvalid) sb.Append("-"); lastWasInvalid = true; } } return sb.ToString().ToLowerInvariant().Trim(); }
尝试模式: "[^a-zA-Z]+"
– 即替换一个或多个非alpha(但你可能允许使用数字?)。
这不行吗?
string pattern = "[^a-zA-Z]+";