从字符串中提取标记

本文关键字:提取 字符串 | 更新日期: 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);
}