我有一个带括号的字符串,我希望只提取括号内的字符串部分。
例如,来自以下字符串:
"abc(def)ghi"
我想获得"def"
,没有括号。
我做了一些搜索,但到目前为止我发现的最接近的是String.Split():
string s = "3,2,4,5,6";
string[] words = s.Split(',');
但String.Split一次只需要1个分隔符。有没有更好的方法只抓住括号内的字符串?
答案 0 :(得分:7)
正则表达式可以提供帮助
string input = "abc(def)ghi";
var def = Regex.Match(input, @"\((.+?)\)").Groups[1].Value;
答案 1 :(得分:1)
您可以拆分多个字符:s.Split("()".ToCharArray())
。不确定这是否适合您,或正则表达式。
答案 2 :(得分:1)
您可以传入一组字符以进行拆分。
像这样:
string s = "abc(def)ghi";
char[] chars = new char[] { '(', ')' };
string[] parts = s.Split(chars);
答案 3 :(得分:0)
另一种选择。简单,双重拆分
string s = "abc(def)ghi";
string []first = s.Split('(');
string[] second = first[1].Split(')');
Console.WriteLine(second[0]);
Console.ReadLine();