C# 获取子字符串-特定字符前后的所有内容

C# 获取子字符串-特定字符前后的所有内容,c#,asp.net,C#,Asp.net,我试图找到从输出字符串中获取每个变量值的最佳方法,如下所示: SUCCESS Post Policy Success INVOICE No. :: WS1704003404 || Policy No :: 59203313 || App No. :: 123456724 这是我们得到的字符串输出,我们想得到 WS1704003404 59203313 123456724 您可以使用正则表达式,例如: class Program { static void Main(string[

我试图找到从输出字符串中获取每个变量值的最佳方法,如下所示:

SUCCESS Post Policy Success INVOICE No. :: WS1704003404 || Policy No :: 
59203313 || App No. :: 123456724 
这是我们得到的字符串输出,我们想得到

WS1704003404
59203313
123456724

您可以使用正则表达式,例如:

class Program
{
    static void Main(string[] args)
    {
        var input = " SUCCESS Post Policy Success INVOICE No. :: WS1704003404 || Policy No :: 59203313 || App No. :: 123456724 ";

        var pattern = @"::\s*(\w+)\s*";

        var matches = Regex.Matches(input, pattern);

        foreach (Match match in matches)
            Console.WriteLine(match.Groups[1].Value);

    }
}

您可以使用
Split
Substring
函数来获得所需的结果。首先用“| |”作为分隔符拆分该字符串,然后再对该字符串进行子字符串,然后在单词后面取任何内容:

结果:

WS1704003404
59203313
123456724

你需要在这里找到一个模式。WS1704003404和后续值是否始终以WS开头?是否总是保单号、发票号和应用程序号。?我相信RegExp会做到的。您尝试过什么?您的“最佳可能方式”指标是什么?输出“特定字符前后的所有内容”如何?在某些字符之前和之后似乎都没有,这与问题的标题相反。不客气
WS1704003404
59203313
123456724