c# - 在字符串 c# 中查找标记值

标签 c# string token

我有以下情况。我有这样的模式:

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/

相关文章:

c# - 如何枚举所有任务,如 Visual Studio 任务窗口

c# - 从队列触发器启动 Azure 辅助角色

javascript - 如何使用 'this' 添加字符串

java - 如何测试 Lucene 分析器?

php - 使用解析器标记删除 PHP 中允许的空格

java - 如何检查用户是否已从 Google/Facebook/GitHub 等注销 - OAuth2

c# - 为什么我在这条线上收到错误消息?

c# - 数组包含性能

c 字符串返回类型不正确?

c++ - std::string 转换为 char32_t(unicode 字符)