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