使用正则表达式拆分字符串
本文关键字:字符串 拆分 正则表达式 | 更新日期: 2023-09-27 17:57:10
我正在努力找出如何实现这一目标。以下是内容:
"#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)
。
谁能帮我解决这个问题?
在不使用正则表达式的情况下,可以通过以下方式解决此问题(如注释中所述):
var theListOfString = yourInputString.Split(new[] { " ", ":" }, StringSplitOptions.RemoveEmptyEntries).Select(p => p.Trim()).ToList();
theListOfString[0] = theListOfString[0].Substring(0, theListOfString[0].IndexOf("(") - 1);