据我所知选择字符串的一部分,我们使用split
。例如,如果node1.Text
为test (delete) if we choose delete
string b1 = node1.Text.Split('(')[0];
那么这意味着我们选择了test
,但如果我想从delete
中选择node1.Text
,我该怎么办?
更新
另一个问题是,当字符串中有两组括号时,如何针对delete
?例如,字符串是test(2) (delete) - if we choose delete
答案 0 :(得分:0)
如果您的字符串总是 xxx(yyy)zzz
格式,则可以添加)
字符,然后将其拆分并获取第二项;
var s = "test (delete) if we choose delete";
string b1 = s.Split(new[] { '(', ')' })[1];
答案 1 :(得分:0)
string tmp = node1.Text.Split('(')[1];
string final = tmp.Split(')')[0];
也有可能。
使用索引[x]
,您可以在字符前后分割原始字符串的字符串部分。如果角色多次出现,那么你得到的字符串会有更多的部分。
答案 2 :(得分:0)
您也可以使用正则表达式,然后只删除括号:
resultString = Regex.Match(yourString, @"\((.*?)\)").Value.
Replace("(", "").Replace(")", "");
或更好:
Regex.Match(yourString, @"\((.*?)\)").Groups[1].Value;
如果要在括号中提取多个字符串:
List<string> matches = new List<string>();
var result = Regex.Matches(yourString, @"\((.*?)\)");
foreach(Match x in result)
matches.Add(x.Groups[1].Value.ToString());