次のように正確に定義された文字列拡張があります。
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 でビルドされています。
助けてください。前もって感謝します。