我正在努力寻找如何实现这一目标。 以下是内容:
"#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)
。
有人可以帮助我吗?
答案 0 :(得分:1)
不使用RegEx,可以通过以下方式解决(如评论中所述):
var theListOfString = yourInputString.Split(new[] { " ", ":" }, StringSplitOptions.RemoveEmptyEntries).Select(p => p.Trim()).ToList();
theListOfString[0] = theListOfString[0].Substring(0, theListOfString[0].IndexOf("(") - 1);