我有一个字符串,它看起来像这样:
源路径:\建立\ PM \ 11.0.25.9 \ 11025_0_X.pts目标路径:正则表达式“AND”运算符?
我要切断字符串“源路径:”和“目的地路径:“为了只获得源路径。
我想这样做会做一个简单的Regex.Replace
。
但是我不确定如何写一个模式来查找这两个字符串。
任何想法?谢谢。
我有一个字符串,它看起来像这样:
源路径:\建立\ PM \ 11.0.25.9 \ 11025_0_X.pts目标路径:正则表达式“AND”运算符?
我要切断字符串“源路径:”和“目的地路径:“为了只获得源路径。
我想这样做会做一个简单的Regex.Replace
。
但是我不确定如何写一个模式来查找这两个字符串。
任何想法?谢谢。
无需使用正则表达式,你可以只是简单的做一个Replace
:
var path = "Source Path: \build\PM\11.0.25.9\11025_0_X.pts Destination Path:"
.Replace("Source Path: ", "")
.Replace(" Destination Path:", "");
也许一些不使用替代:
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;
}
如果你的字符串总是相同的格式并且您的路径中没有空格,则可以将字符串拆分与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();
小调。您的输入字符串需要@来防止将反斜杠用作转义码。编辑:我看到所有的回应都有这个错误。好吧。 :-) –
@FrancisGagnon - 谢谢 - 复制/粘贴错误,现在修复。 – tvanfosson
如果目的地路径不是空的? – James
谢谢你完美的作品! – user2619395