C# 从文本中获取特定字符串

C# 从文本中获取特定字符串,c#,C#,如何从该数据中获取该字符串?(粗体部分是我想要的) 我写这段代码是为了删除除身份证号码以外的所有内容 id = id.Replace("Id: ", "") If (id.ToString.Length > 5) Then id = id.Substring(0, id.IndexOf("-") - 1).Trim() 但现在我还想得到Amt:number。 到目前为止,守则的结果如下: 二十 它只是打印出身份证,但是你怎么得到10号?所以看起来是这样的: 20 10 试试下面

如何从该数据中获取该字符串?(粗体部分是我想要的)

我写这段代码是为了删除除身份证号码以外的所有内容

id = id.Replace("Id: ", "")

If (id.ToString.Length > 5) Then
    id = id.Substring(0, id.IndexOf("-") - 1).Trim()
但现在我还想得到Amt:number。 到目前为止,守则的结果如下:

二十

它只是打印出身份证,但是你怎么得到10号?所以看起来是这样的:

20 10

试试下面的方法


记住使用System.Text.RegularExpressions包含
在顶部的参考中

简单循环怎么样?找到“Amt”的“A”在哪里,然后从那里打印。此数据中的
Cow
的含义是什么?您的字符串似乎没有特定的规则,我建议您使用仅匹配数字的正则表达式(因此,您将获得两个匹配项:20和10;但是如果不必要的文本也包含数字,则可能会更改)。这里有这么一个帖子:数据牛只是一个例子。我来看看正则表达式。标签和标题很混乱。。。你是在要求vb.net或c#还是只要它在.net家族中,你就不在乎?
id = id.Replace("Id: ", "")

If (id.ToString.Length > 5) Then
    id = id.Substring(0, id.IndexOf("-") - 1).Trim()
var subjectString = "Id: 20 - Cow Amt: 10";

string[] values = Regex.Split(subjectString, @"\D+");

foreach (string value in values)
{
    int number;
    if (int.TryParse(value, out number))
    {
        Console.WriteLine(value);
    }
}