2

次の形式の文字列があります。

AM Kaplan, M Haenlein - Business horizons, 2010 - Elsevier
A Lenhart, K Purcell, A Smith, K Zickuhr - 2010 - pewinternet.org

そして、年を抽出したいと思います。

私が使用していた:

year = year.Substring(year.LastIndexOf(",") + 1, year.LastIndexOf("-") - 1).Trim();

しかし、長さエラーが発生し、必要な最後のインデックスが部分文字列の開始に「,」ではなく「-」である場合、これも壊れます。

年を適切に抽出するにはどうすればよいですか?

4

3 に答える 3

2

authors - optionalPublisher year - site次の式は、文字列の形式を検証します。

var s = "AM Kaplan, M Haenlein - Business horizons, 2010 - Elsevier";

var match = Regex.Match(s, @".+ - .*(\d{4}) - .+");
if (match.Success)
{
     var year = match.Groups[1].Value;
}
于 2013-07-18T16:04:35.440 に答える