我有以下情况。我有这样的模式:
Hi, my name is ${name}, I am ${age} years old. I live in ${address}
我想在任何句子中获取这些标记的值:
Hi, my name is Peter, I am 22 years old. I live in San Francisco, California
因此,我需要 Dictionary<string, string>
中的键=值:
${name} = "Peter",
${age} = "22",
${address} = "San Francisco, California"
最佳答案
您是否尝试过使用正则表达式? 这是一个经典的正则表达式。 一个适合你的句子:
Hi, my name is (?<name>.*), I am (?<age>.*) years old\. I live in (?<address>.*)
使用示例:
Match match = Regex.Match(@"Hi, my name is Peter, I am 22 years old. I live in San Fransisco, California", @"Hi, my name is (?<name>.*), I am (?<age>.*) years old\. I live in (?<address>.*)");
现在,访问特定的组:
match.Groups["name"], match.Groups["age"], match.Groups["address"]
这些会给你你的值(value)观。当然,您应该首先检查 match.IsSuccess
以查看正则表达式是否匹配。
关于c# - 在字符串 c# 中查找标记值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16933842/