一尘不染

C#正则表达式拆分-方括号内的所有内容

c#

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

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

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

如何做到这一点?


阅读 642

收藏
2020-05-19

共1个答案

一尘不染

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]);
}

产生您的结果。

2020-05-19