C# Regex Split - 方括号内的所有内容

标签 c# regex split

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

产生你的结果。

关于C# Regex Split - 方括号内的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/740642/

相关文章:

c# - IOptions 不适用于 TinyIOC/NancyFX

Javascript:在循环中按循环分割字符串

c++ - 使用 C++ 正则表达式查找第一个匹配项的索引

c# - ASP.NET MVC 显示来自数据库的多个图像。如何高效地

c# - .net 核心中hangfire RecurringJob 的入口点

java - Regexp::Assemble 的 Java 等价物是什么?

php - 正则表达式:如果字母与数字相邻则添加空格

c# - 小于和大于需要在 C# 正则表达式中转义吗?

powershell - 在 Powershell 中导入 CSV ,每 10 行分成多个文件

c# - System.Diagnostics.Activity 在 aspnet core 2.1 中为空