Место общения программистов C#
Anonymous
Найдите 2-й год, если он существует, с помощью регулярных выражений
Сообщение
Anonymous » 09 окт 2025, 18:30
Я получаю несколько названий и хочу узнать, есть ли в этом тексте год (1950–2050), но я хочу найти второй год, если он существует. Я уже создал метод. Если метод не найден, я хочу вернуть 0.
Код: Выделить всё
string text1 = "Name 2000";
string text2 = "Name";
string text3 = "2000 2012";
string text4 = "2012 Name";
public static int get_title_year(string title)
{
string pattern = @"\b(?\d{4})";
Regex rx = new Regex(pattern);
if (rx.IsMatch(title))
{
Match match = rx.Match(title);
return Convert.ToInt16(match.Groups[1].Value);
}
else
{
return 0;
}
}
Мой метод возвращает
2000 0 2000 2012
Вместо
2000 0 2012 2012
Подробнее здесь:
https://stackoverflow.com/questions/140 ... xpressions
1760023858
Anonymous
Я получаю несколько названий и хочу узнать, есть ли в этом тексте год (1950–2050), но я хочу найти второй год, если он существует. Я уже создал метод. Если метод не найден, я хочу вернуть 0. [code]string text1 = "Name 2000"; string text2 = "Name"; string text3 = "2000 2012"; string text4 = "2012 Name"; public static int get_title_year(string title) { string pattern = @"\b(?\d{4})"; Regex rx = new Regex(pattern); if (rx.IsMatch(title)) { Match match = rx.Match(title); return Convert.ToInt16(match.Groups[1].Value); } else { return 0; } } [/code] Мой метод возвращает 2000 0 2000 2012 Вместо 2000 0 2012 2012 Подробнее здесь: [url]https://stackoverflow.com/questions/14011935/find-the-2nd-year-if-exist-with-regular-expressions[/url]