我有以下字符串:aWesdE,我想转换为http://myserver.com/aWesdE.jpg使用Regex.Replace(string, string, string, RegexOptions)
目前,我使用此代码:
string input = "aWesdE";
string match = "(.*)";
string replacement = "http://myserver.com/$1.jpg";
string output = Regex.Replace(input, match, replacement,
RegexOptions.IgnoreCase | RegexOptions.Singleline);
Run Code Online (Sandbox Code Playgroud)
结果是输出结果如下: http://myserver.com/aWesdE.jpghttp://myserver.com/.jpg
因此,替换值正确显示,然后似乎再次附加 - 非常奇怪.这里发生了什么?
您的正则表达式中实际上有2个匹配项.你定义了这样的匹配:
string match = "(.*)";
Run Code Online (Sandbox Code Playgroud)
这意味着匹配零个或多个字符,因此您有2个匹配 - 空字符串和您的文本.为了修复它,将模式更改为
string match = "(.+)";
Run Code Online (Sandbox Code Playgroud)
这意味着匹配一个或多个字符 - 在这种情况下,您将只获得一个匹配
| 归档时间: |
|
| 查看次数: |
538 次 |
| 最近记录: |