gpt4 book ai didi

c# - 在 C# 中替换字符串中的所有特殊字符

转载 作者:行者123 更新时间:2023-11-30 18:50:19 25 4
gpt4 key购买 nike

我想找出字符串中的所有特殊字符并用连字符 (-) 替换

我正在使用下面的代码

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--regular-expression-replace----

我在输出中多次出现连字符 (---)。

我想得到这样的东西

foo-bar-regular-expression-replace

如何实现

任何帮助将不胜感激

谢谢深普

最佳答案

为什么不这样做:

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();

}

关于c# - 在 C# 中替换字符串中的所有特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1778879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com