Разделение C# Regex - все в квадратных скобках

Это происходит потому, что JVM генерирует новый класс на лету, когда Lambda вызывается впервые. После этого этот класс можно использовать повторно. Вот почему в первый раз у вас высокая задержка.

Кроме того, важно понимать, что лямбды не всегда являются лучшими вариантами, особенно для простых операций, которые можно выполнить с помощью старого доброго цикла. Эта статья является богатой и довольно хорошим чтением для тех, кто интересуется производительностью Stream.

37
задан Peter Mortensen 14 May 2010 в 17:16
поделиться

1 ответ

Сплит вам здесь не поможет; вам нужно использовать регулярные выражения:

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

возвращает ваши результаты.

72
ответ дан Konrad Rudolph 27 November 2019 в 04:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: