我有我需要转换为URL的以下路径。使用正则表达式在字符串中匹配多个字符
string path = @"\\TestServer\User_Attachments$\Data\Reference\Input\Test.png";
我试图替换替换此字符串中的特殊字符。所以
\\ will become
//with an
HTTPSadded at the front i.e.
https://开头`\
将成为/
User_Attachments$
将成为User_Attachments
最终的字符串应该像
string url = "https://TestServer/User_Attachments/Data/Reference/Input/Test.png"
要做到这一点,我想出了以下regex
string pattern = @"^(.{2})|(\\{1})|(\${1})";
我再搭配使用Matches()
方法:
var match = Regex.Matches(path, pattern);
我的问题是我怎么能检查,看看是否匹配是成功并在相应的组中取代适当的值,然后如上所述获得最终的url
字符串。
Here是链接到正则表达式
你为什么要用正则表达式来做呢?一个简单的'string.Replace()'链接就足够了,并允许更好的可读性的最终代码... – zaitsman
@zaitsman我不必使用正则表达式,我只是不知道如何使用字符串替换多个值.Replace()'因此我沿着这条路线走了。如果你可以提供一个例子 – Code