C# 替换C中字符串中的所有特殊字符#
我想查找字符串中的所有特殊字符,并用连字符(-)替换 我正在使用下面的代码C# 替换C中字符串中的所有特殊字符#,c#,replace,character,C#,Replace,Character,我想查找字符串中的所有特殊字符,并用连字符(-)替换 我正在使用下面的代码 string content = "foo,bar,(regular expression replace) 123"; string pattern = "[^a-zA-Z]"; //regex pattern string result = System.Text.RegularExpressions.Regex.Replace(content,pattern, "-"); 输出 foobar——正则
string content = "foo,bar,(regular expression replace) 123";
string pattern = "[^a-zA-Z]"; //regex pattern
string result = System.Text.RegularExpressions.Regex.Replace(content,pattern, "-");
输出
foobar——正则表达式替换----
我在输出中多次出现连字符(---)
我想买一些像这样的东西
foobar正则表达式替换
我如何做到这一点
任何帮助都将不胜感激
谢谢
Deepu尝试以下模式:“[^a-zA-Z]+”
-即替换一个或多个非字母(但您可能允许数字?)。这不管用吗
string pattern = "[^a-zA-Z]+";
为什么不这样做:
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();
}