Я изо всех сил пытаюсь выяснить, как я могу это достичь. Вот содержание:Разделительные строки с регулярным выражением
"#1 Single" (2006) {Window Shopping (#1.2)} UK:29 January 2006
"The Wright Stuff" (2000) {(#15.76)} Germany:25 April 2011
Fever (2014/I) Brazil:26 February 2015 (Cinequest Film Festival)
Fever (2014/II) USA:June 2014
Выше вариацией разных строк, у меня есть все эти строки в List<string>
и я только хотите первую часть, например The Wright Stuff
и последняя часть Germany
25 April 2011
. Так что, если у меня был Dictionary<int,List<string>>
это будет выглядеть следующим образом:
new Dictionary<int, List<string>> {
{
1, new List<string>()
{
"The Wright Stuff",
"Germany",
"25 April 2011"
}
}
};
выше, что я хочу, чтобы мой результат будет (Не беспокойтесь о ключе словаря, это GUID в моем фактическом применении).
Но если строка имеет дополнительный бит в конце, как Fever (2014/I) Brazil:26 February 2015 (Cinequest Film Festival)
, то я хочу добавить (Cinequest Film Festival)
.
Может ли кто-нибудь помочь мне в этом?
Вы пытались String.split (новый [] { "", ":"}, StringSplitOptions.RemoveEmptyEntries)? Таким образом, вы можете разделить левую и правую части, разделенные многими пробелами, и части, разделенные двоеточиями. Вам нужно будет обрезать результаты, но я думаю, что это близко к тому, что вы хотите. Даже без RegEx – LInsoDeTeh
Это хорошая точка, но если я разделяю ее на '' '', она разделит каждое слово. –
это вряд ли видно в комментариях, но я добавил два пробела в раскол, поэтому вы должны делиться между частями, а не между словами. Приятная вещь этой перегрузки Split() заключается в том, что вы можете предоставить строки, а не только простые символы. – LInsoDeTeh