我有一个看起来像这样的字符串:
源路径:\build\PM\11.0.25.9\11025_0_X.pts 目标路径:
我想切断字符串“源路径:”和“目标路径:”,以便仅获取源路径。
我想这样做会做一个简单的Regex.Replace
.
但是,我不确定如何编写一个查找这两个字符串的模式。
有任何想法吗?谢谢。
也许不使用替换的东西:
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;
}
不需要正则表达式,您只需执行以下操作Replace
:
var path = "Source Path: \build\PM\11.0.25.9\11025_0_X.pts Destination Path:"
.Replace("Source Path: ", "")
.Replace(" Destination Path:", "");
如果您的字符串始终采用相同的格式并且路径中没有空格,则可以将字符串拆分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();