Удаление ведущих символов новой строки из строки с помощью регулярного выражения?

#java #regex #string #newline

#java #регулярное выражение #строка #новая строка

Вопрос:

Я новичок в «РЕГУЛЯРНОМ ВЫРАЖЕНИИ».И этот вопрос является обучающим и образовательным для регулярных выражений в java.

Я пытаюсь удалить ведущие символы новой строки из строки.(Я знаю, что мы можем сделать это с помощью ‘trim ()’, но я не хочу его использовать).Я использую ‘^ [ r n] ‘ в качестве регулярного выражения, например:

 str = "rnrntest";
str.replaceAll("^[rn] ", "");
System.out.print(str);
  

Я думаю, результат будет

тест

Но результат:

 CRLF
CRLF
test
  

Как вы можете видеть, символы начала новой строки не удаляются.Также я пробую ‘^ s’ или ‘^ s ‘ в качестве регулярного выражения, но результат был таким же.Знаете ли вы, почему эти регулярные выражения не соответствуют ведущим символам новой строки?

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

1. Я не очень разбираюсь в Java, но вот общее решение: regex101.com/r/sP3wW6

Ответ №1:

Строка не может быть изменена: replaceAll возвращает измененную строку.

 str = str.replaceAll(...);