我有一个看起来像这样的字符串:
源路径:\ build \ PM \ 11.0.25.9 \ 11025_0_X.pts目标路径:
我想切断字符串“Source Path:”和“Destination Path:”,以便只获取源路径。
我想这样做就是做一个简单的Regex.Replace
。
但是我不确定如何编写一个可以查找这两个字符串的模式。
有什么想法吗?谢谢。
答案 0 :(得分:6)
也许不使用的东西替换:
string s = "Source Path: \build\PM\11.0.25.9\11025_0_X.pts Destination Path:";
Match m = Regex.Match(s, "^Source Path:\s(.*?)\sDestination Path:$");
string result = string.Empty;
if (m.Success)
{
result = m.Groups[1].Value;
}
答案 1 :(得分:3)
不需要正则表达式,只需执行Replace
:
var path = "Source Path: \build\PM\11.0.25.9\11025_0_X.pts Destination Path:"
.Replace("Source Path: ", "")
.Replace(" Destination Path:", "");
答案 2 :(得分:1)
如果您的字符串始终采用相同的格式且路径中没有空格,则可以将字符串拆分与Skip
和First
IEnumerable扩展一起使用。
var input = @"Source Path: \build\PM\11.0.25.9\11025_0_X.pts Destination Path:";
var path = input.Split(new [] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
.Skip(2)
.First();