简体   繁体   English

C#查找和替换

[英]C# find and replace

I have a string variable of type ////abc/abc/abc/asd.aspx . 我有一个////abc/abc/abc/asd.aspx类型的字符串变量。

There can be any number of / at the begining of a string, i want the output to be /abc/abc/abc/asd.aspx . 字符串/abc/abc/abc/asd.aspx可以有任意数量的/ ,我希望输出为/abc/abc/abc/asd.aspx

There can also be a string value as /abc/abc/abc/asd.aspx whose output should emain as /abc/abc/abc/asd.aspx 还可以有一个字符串值/abc/abc/abc/asd.aspx其输出应/abc/abc/abc/asd.aspx

Kindly help, how do i use String.Replace(); 请帮助,如何使用String.Replace(); or any other method i can use? 或我可以使用的任何其他方法?

You can do something like this: 您可以执行以下操作:

var correctedString = "/" + originalString.TrimStart('/');

Or you van do it via RegEx if there are any number of / in any part of string: 或者,如果字符串的任何部分中有任何数量的/ ,则可以通过RegEx进行操作:

var correctedString = Regex.Replace(originalString, "/{2,}", "/");
string str = " ////abc/abc/abc/asd.aspx";
string newStr = "/"  + string.Join("/", str.Split(new[] { "/" }, 
                                        StringSplitOptions.RemoveEmptyEntries));

This would work for string like "///abc///abc//abc/asd.aspx" as well. 这同样适用于"///abc///abc//abc/asd.aspx"类的字符串。

You can use Regular Expressions: 您可以使用正则表达式:

string path = "////abc/abc/abc/asd.aspx";

path = System.Text.RegularExpressions.Regex.Replace(path, @"/+", "/");

Result: 结果:

/abc/abc/abc/asd.aspx

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM