如何拆分已经拆分的字符串

How to Split an Already Split String

我有如下代码。

foreach (var item in betSlipwithoutStake)
{
    test1 = item.Text;
    splitText = test1.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);

    if (!test.Exists(str => str == splitText[0]))
        test.Add(splitText[0]);           
}

我得到的值类似于 "Under 56.5 Points (+56.5)"

现在我想再次拆分列表中每个项目的 '(' 之后的所有内容,这样我将得到一个新列表并可以使用它。我该怎么做?

如果要提取括号内的值:

foreach (var item in betSlipwithoutStake)
    {
        test1 = item.Text;
        splitText = test1.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);

        if (!test.Exists(str => str == splitText[0]))
            if(splitText[0].Contains("("))
                test.Add(splitText[0].Split('(', ')')[1]);           
            else
                test.Add(splitText[0]);
    }

好吧,假设您正在寻求一个没有正则表达式的解决方案,并且您声明了一个 List<string> 测试,您可以跟进一个带有索引(和一些错误处理)的子字符串:

foreach (var item in betSlipwithoutStake)
    {
        test1 = item.Text;
        splitText = test1.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
        if (splitText.Length == 0)
            continue;

        string stringToCheck = splitText[0];
        int openParenIndex = stringToCheck.IndexOf('(');
        int closeParenIndex = stringToCheck.LastIndexOf(')');

        if (openParenIndex >=0 && closeParenIndex >= 0)
        {
            // get what's inside the outermost set of parens
            int length = closeParenIndex - openParenIndex + 1;
            stringToCheck = stringToCheck.Substring(openParenIndex, length);
        }

        if (!test.Exists(str => str == splitText[0]))
            test.Add(splitText[0]);           
    }

您可以了解所有用于字符串的方法 here