現在、角括弧内のすべてを取得して残りのテキストを破棄するために、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]);
}
結果をもたらします。