我看过这个CheatSheet for Regex in C#
但是,我正在尝试创建一个正则表达式函数来代替它:
while (fname.Contains(".."))
{
fname = fname.Replace("..", ".");
}
if (fname.StartsWith(".")) {
fname= fname.Remove(0, 1);
}
fname = fname.Replace("&", "_");
fname = fname.Replace("#", "_");
fname = fname.Replace("{", "_");
fname = fname.Replace("}", "_");
fname = fname.Replace("%", "_");
fname = fname.Replace("~", "_");
fname = fname.Replace("?", "_");
我根本不知道如何编写正则表达式来为我解决这个问题。 谁能帮帮我?
最佳答案
string dotsPattern = @"\.\.+"; //2 or more dots.
fname=Regex.Replace(fname, dotsPattern ,".");
String firstSymbolDot = @"^\.";
fname = Regex.Replace(fname, firstSymbolDot, String.Empty);
string symbolPattern = "[&#{}%~?]"; //any of given symbol;
string result = Regex.Replace(fname, symbolPattern, "_");
关于c# - 正则表达式而不是 string.replace 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13967672/