регулярное выражение, как я могу удалить последний "<br>" в строке - PullRequest
1 голос
/ 08 марта 2011

Как я могу удалить последние <br> из строки с помощью replace () или replaceAll ()

* <br> следует после <br> или слова

myИдея состоит в том, чтобы добавить строку в конец строки, и тогда это будет <br> + моя добавленная строка

как я могу заменить ее тогда?

Ответы [ 4 ]

3 голосов
/ 08 марта 2011

Если вы пытаетесь заменить последний <br />, который может быть не последним в строке, вы можете использовать что-то вроде этого.

String replaceString = "<br />";
String str = "fdasfjlkds <br /> fdasfds <br /> dfasfads";
int ind = str.lastIndexOf(replaceString);
String newString = str.substring(0, ind - 1)
        + str.substring(ind + replaceString.length());
System.out.println(newString);

Вывод

fdasfjlkds <br /> fdasfds> dfasfads

Конечно, вам придется добавить несколько проверок, чтобы избежать NPE.

3 голосов
/ 08 марта 2011

Regexp, вероятно, не самый лучший для такого рода задач. также проверьте ответы на этот вопрос .
Ищите <br>, вы также можете найти <BR> или <br />

String str = "ab <br> cd <br> 12";
String res = str.replaceAll( "^(.*)<br>(.*)$", "$1$2" );
// res = "ab <br> cd 12"
1 голос
/ 08 марта 2011

Используя регулярное выражение, это будет:

theString.replaceAll("<br>$", "");
1 голос
/ 08 марта 2011

Не использует replace, но делает то, что вы хотите без регулярного выражения:

String s = "blah blah <br>";

if (s.endsWith("<br>")) {
   s = s.substring(0, s.length() - 4);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...