从字符串中提取标记
本文关键字:提取 字符串 | 更新日期: 2023-09-27 18:04:43
我有一个html文件,其中包含未知数量的令牌。关键字将在稍后由用户分配给某些数据。我想确定html包含多少令牌。令牌可以是:·SomeID·或·Name·或甚至是·someelongerword·。
有人能给我一个完整的代码与正则表达式,这将收集令牌到一个列表从字符串?
的例子:
string ExtractFromThis = "Hello ¤Name¤, do you speak ¤SomeLanguage¤?"
List<string> IldLikeToHave = Magic(ExtractFromThis);
//IldLikeToHave should contain {"¤Name¤", "¤SomeLanguage¤"}
谢谢!
您可以使用简单的正则表达式,例如¤.*?¤
(注意非贪婪星号)匹配¤
中包含的任何内容。这里有一个例子。您可以使用Regex.Matches()来获取所有匹配项。
如果您对获取分隔符内的文本感兴趣,您也可以将量词放在像¤(.*?)¤
这样的捕获组中,并使用Match.Groups()
来获取每个匹配的捕获组。
我不做c#,但这里有一个示例,它应该看起来像:
string pattern = @"¤(.*?)¤";
string input = "Hello ¤Name¤, do you speak ¤SomeLanguage¤?";
MatchCollection matches = Regex.Matches(input, pattern);
List<string> l = new List<string>();
foreach (Match match in matches) {
l.add(match.Groups[1].Value);
}