拆分字符串并选择包含两组括号的中间部分

本文关键字:中间部 包含两 字符 字符串 串并 选择 拆分 | 更新日期: 2023-09-27 18:35:02

据我所知,为了选择字符串的一部分,我们使用split.例如,如果node1.Text test (delete) if we choose delete

string b1 = node1.Text.Split('(')[0];

那么这意味着我们已经选择了test,但是如果我想从node1.Text中选择delete,我该怎么办?

更新:

另一个问题是,当字符串中有两组括号时,如何瞄准delete?例如,字符串是test(2) (delete) - if we choose delete

拆分字符串并选择包含两组括号的中间部分

您也可以使用正则表达式,然后删除括号:

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());

如果您的字符串始终xxx(yyy)zzz格式,您可以添加)字符,因此将其拆分并得到第二个项目;

var s = "test (delete) if we choose delete";
string b1 = s.Split(new[] { '(', ')' })[1];
string tmp = node1.Text.Split('(')[1];
string final = tmp.Split(')')[0];

也是可能的。

使用索引[x]您可以定位拆分原始字符串的字符之前和之后的字符串部分。如果该字符多次出现,则生成的字符串会覆盖更多部分。