Как обрезать символы от начала и до конца строки с помощью регулярного выражения?

#c#

Вопрос:

Я пытаюсь удалить rn и «n» из текста. Проблема в том, что иногда они необходимы. Например.:

 rn nTitlernText on the next rowrnrnSignaturern
 

Те, что находятся между текстом, следует сохранить. Ожидаемый результат:

 TitlernText on the next rowrnrnSignature
 

«rn » и «n » и «‘»в начале строки исчезли, как и» rn » в ее конце. Остальные сохранены. Я пробовал разные вещи, похожие на это

 var reg = new Regex(@"(^(rn) ?)");

 

но не могу заставить его работать должным образом.

Комментарии:

1. Почему регулярное выражение является условием? Строка. Обрезка принимает список символов для обрезки

Ответ №1:

Я бы просто

 yourString.Trim()
 

IT..

Или какая-то вариация перегрузки, которая принимает символы, если вам когда-либо понадобятся другие символы, кроме пробелов(или если вы специально хотите только эти пробелы):

 yourString.Trim("r n".ToCharArray()); //maybe store this ToCharArray call elsewhere as a fixed set of delimiters 
yourString.Trim(new[]{'r','n',' '}); //consider store elsewhere
yourString.Trim('r','n',' '); 
 

Если это действительно должно быть регулярное выражение, вы можете запечатлеть всю интересную часть:

 Regex.Match("^[rn ]*(?<x>.?*)[rn ]*$").Groups["x"].Value;
 

Ответ №2:

Вы можете использовать string.Trim() с несколькими символами

 var text = "rn nTitlernText on the next rowrnrnSignaturern";

text = text.Trim('r', 'n');