Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 替换C中字符串中的所有特殊字符#_C#_Replace_Character - Fatal编程技术网

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

        }