我目前正在尝试在C#中拆分字符串(最新的.NET和Visual Studio 2008),以便检索方括号内的所有内容并丢弃其余文本。

例如:“H1-受体拮抗剂[HSA:3269] [PATH:hsa04080(3269)]”

在这种情况下,我有兴趣将“ HSA:3269 ”和“ PATH:hsa04080(3269)”放入字符串数组中。

如何做到这一点?

最佳答案

Split在这里无济于事;您需要使用正则表达式:

// using System.Text.RegularExpressions;
// pattern = any number of arbitrary characters between square brackets.
var pattern = @"\[(.*?)\]";
var query = "H1-receptor antagonist [HSA:3269] [PATH:hsa04080(3269)]";
var matches = Regex.Matches(query, pattern);

foreach (Match m in matches) {
    Console.WriteLine(m.Groups[1]);
}

产生您的结果。

09-25 21:37