Я хочу, чтобы разделить строку «Это относительно проблемы {про} в {заявлении}»как разбить строку в C#
Я хочу, чтобы получить выход в
This is regarding the problem of
{pro}
in
{statement}
Я хочу, чтобы разделить строку «Это относительно проблемы {про} в {заявлении}»как разбить строку в C#
Я хочу, чтобы получить выход в
This is regarding the problem of
{pro}
in
{statement}
Вы может попробовать this regex:
([^{]+|{[^}]*})
Это соответствует каждая группа символов, которые определяются как:
{
; или{
символ, за которым следует любому количество символов, которые не являются }
, все следует }
Ваше регулярное выражение очень полезно. Большое спасибо. Я могу продолжить свою работу. – user4678815
'({[^}] *})' похоже, делает то же самое и создает менее пустые строки, поэтому работает немного лучше (7.1 сек против 11.4 сек для 5 миллионов повторений) – learningcs
Это вытащит {} и их содержание? Регулярное выражение, которое я разместил, также соответствует каждому разделу текста между и {} секциями – Blorgbeard
Вот простое регулярное выражение, которое будет вставить новую строку до и после того, как ваш маркер соответствует переопределению оценщика:
string output = Regex.Replace(input, @"{\S+}", m => string.Format(@"{1}{0}{1}", m.Value, '\n'));
Выходная переменная будет иметь новую строку после. Затем вы можете просто разбить строку, если вам нужен вывод в массиве строк.
string[] lines = output.Split('\n');
Как строка с новыми строками или как массив строк? –
Непонятно, что вы спрашиваете. Вы всегда хотите разделиться после слов 'of' и' in' и слов, которые сразу же следуют за ними? Вы всегда хотите разделиться на 25, 28, 33 и 44-м письмах (нет, я точно не считал)? – mason
Нет. Я хочу разделить найденное {и также хотеть значение внутри {}. – user4678815