2014-01-30 3 views
0

У меня есть строка, как это:Что такое регулярное выражение для замены & F afrer же

Hello &f are &f you &f here? 

И я хочу, чтобы заменить только последний & ф с «» (по последним я имею в виду третий, который находится рядом «здесь» . Я пытался что-то вроде этого:

"Hello &f are &f you &f here?".replaceAll(".&f", "") 

Но это не работает, так что кто-то может мне помочь

+0

можно дублировать http://stackoverflow.com/questions/16665387/replace-last-occurrence-of-a-character-in-a-string – Vamshi

ответ

0

Может также быть сделано с StringBuilder.reverse()

String str1 = "Hello &f are &f you &f here ?"; 
String temp = new StringBuilder(str1).reverse().toString().replaceFirst("f&", ""); 
String rslt = new StringBuilder(temp).reverse().toString(); 
System.out.println(rslt); 

Шаги:

  1. Поменяйте строку с помощью StringBuffer
  2. Заменить первый f& с помощью String.replaceFirst()
  3. Затем снова обратное, что строка.

Выход:

Hello &f are &f you here ? 
1
String s = "Hello &f are &f you &f here?"; 
    s = s.substring(0,s.lastIndexOf("&f")) + s.substring(s.lastIndexOf("&f")+3); 
    System.out.println("s = " + s); // prints: s = Hello &f are &f you here? 
Смежные вопросы