regex 正则表达式替换除斜杠以外的所有特殊字符?

xtupzzrd  于 2023-05-30  发布在  其他
关注(0)|答案(3)|浏览(211)

我正试图制定一些正则表达式,将消除所有的特殊字符,SharePoint不会采取时,创建一个文件夹。
这些是不允许的字符,我假设下面的正则表达式将处理所有这些字符。但我也想用破折号代替\或/。

~ " # % & * : < > ? / \ { | }

这就是我目前所做的,但我希望把这些都结合到一个函数中,如果可能的话。

private void RemoveAndReplaceSpecialCharacters(string input)
    {
        Regex.Replace(input, @"\\", @"-");
        Regex.Replace(input, @"/", @"-");
        Regex.Replace(input, @"[^0-9a-zA-Z\._]", string.Empty);
    }
zrfyljdw

zrfyljdw1#

前两个替换不需要Regex.Replace,因此可以将它们合并为一个,或者,由于它们被相同的字符替换,继续使用Regex.Replace,但只使用其中一个。

private string RemoveAndReplaceSpecialCharacters(string input) {
    return Regex.Replace(Regex.Replace(input, @"[\\/]", "-"),
                         @"[^0-9a-zA-Z._]", string.Empty);
}
7uzetpgm

7uzetpgm2#

private void RemoveAndReplaceSpecialCharacters(string input)
    {
        Regex.Replace(input, @"[\\\/]+", "-");
            Regex.Replace(input, @"[^0-9a-zA-Z\._]+", string.Empty);
    }
lc8prwob

lc8prwob3#

这个吗

var foo = @"aa\b\hehe";
var baa = Regex.Replace(foo, @"[^\\/]+", "-");

相关问题