簡體   English   中英

C# Regex Split - 方括號內的所有內容

[英]C# Regex Split - everything inside square brackets

我目前正在嘗試在 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]);
}

產生你的結果。

嘗試這個

string mystr = "Hello my name is  {robert} and i live in  {florida}";

List<string> myvariables = new List<string>();
while (mystr.Contains("{"))
{
    myvariable.Add(mystr.Split('{', '}')[1]);
    mystr = mystr.Replace("{" + mystr.Split('{', '}')[1] + "}", "");
};

這樣我就會有一個包含 robert 和 florida 的數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM