我有一个////abc/abc/abc/asd.aspx
类型的字符串变量。
在字符串的开头可以有任意数量的/
,我希望输出为/abc/abc/abc/asd.aspx
。
还可以将字符串值设为/abc/abc/abc/asd.aspx
,其输出应为/abc/abc/abc/asd.aspx
请帮助,我如何使用String.Replace();
或我可以使用的任何其他方法?
答案 0 :(得分:5)
您可以这样做:
var correctedString = "/" + originalString.TrimStart('/');
如果字符串的任何部分中有/
个var correctedString = Regex.Replace(originalString, "/{2,}", "/");
,或者您通过RegEx执行此操作:
{{1}}
答案 1 :(得分:2)
string str = " ////abc/abc/abc/asd.aspx";
string newStr = "/" + string.Join("/", str.Split(new[] { "/" },
StringSplitOptions.RemoveEmptyEntries));
这也适用于像"///abc///abc//abc/asd.aspx"
这样的字符串。
答案 2 :(得分:0)
您可以使用正则表达式:
string path = "////abc/abc/abc/asd.aspx";
path = System.Text.RegularExpressions.Regex.Replace(path, @"/+", "/");
结果:
/abc/abc/abc/asd.aspx