基于多个分隔符获取字符串的一部分

本文关键字:一部分 字符串 获取 于多个 分隔符 | 更新日期: 2023-09-27 18:32:53

我有一个带括号的字符串,我只想提取括号内的字符串部分。

例如,从以下字符串:

"abc(def)ghi"

我想得到"def",没有括号。

我已经做了一些搜索,但到目前为止我找到的最接近的东西是String.Split():

string s = "3,2,4,5,6";
string[] words = s.Split(',');

但是 String.Split 一次只使用 1 个分隔符。 有没有更好的方法只抓取括号内的字符串?

基于多个分隔符获取字符串的一部分

正则表达式可以在这里提供帮助

string input = "abc(def)ghi";
var def = Regex.Match(input, @"'((.+?)')").Groups[1].Value;

您可以拆分多个字符:s.Split("()".ToCharArray()) .不确定这是否适合您,还是正则表达式是正确的解决方案。

您可以传入要拆分的字符数组。

这样:

string s = "abc(def)ghi";
char[] chars = new char[] { '(', ')' };
string[] parts = s.Split(chars);

只是另一种选择。简单,双重拆分

        string s = "abc(def)ghi";
        string []first = s.Split('(');
        string[] second = first[1].Split(')');
        Console.WriteLine(second[0]);
        Console.ReadLine();