0

我有一个看起来像这样的字符串:
源路径:\build\PM\11.0.25.9\11025_0_X.pts 目标路径:

我想切断字符串“源路径:”和“目标路径:”,以便仅获取源路径。
我想这样做会做一个简单的Regex.Replace.

但是,我不确定如何编写一个查找这两个字符串的模式。

有任何想法吗?谢谢。

4

3 回答 3

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;
}
于 2013-08-21T13:12:02.907 回答
3

不需要正则表达式,您只需执行以下操作Replace

var path = "Source Path: \build\PM\11.0.25.9\11025_0_X.pts Destination Path:"
    .Replace("Source Path: ", "")
    .Replace(" Destination Path:", "");
于 2013-08-21T13:08:51.960 回答
1

如果您的字符串始终采用相同的格式并且路径中没有空格,则可以将字符串拆分SkipFirstIEnumerable 扩展名结合使用。

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();
于 2013-08-21T13:18:18.880 回答