我有一个完全像这样定义的字符串扩展:
public static string GetStringBetween(this string value, string start, string end)
{
start = Regex.Escape(start);
end = Regex.Escape(end);
GroupCollection matches = Regex.Match(value, start + @"([^)]*)" + end).Groups;
return matches[1].Value;
}
但是当我这样称呼时:
string str = "The pre-inspection image A. Valderama (1).jpg of client Valderama is not...";
Console.WriteLine(str.GetStringBetween("pre-inspection image ", " of client"));
它不写任何东西。但是当str值是这样的时候:
string str = "The pre-inspection image A. Valderama.jpg of client Valderama is not...";
它工作正常。为什么会这样?
我的代码是 C#,框架 4,在 VS2010 Pro 中构建。
请帮忙。提前致谢。