2014-12-29 2 views
-3

У меня есть это упражнение. Почему бы не работать с replaceAll? У меня есть ошибка: индекс Строка из диапазона: 1java replace e replaceAll. ReplaceAll не работает

public class e3 { 

    public static void main(String[] args) { 
     String x="Sessione successiva"; 
     String nuova=x.replace("i", "!"); 
     String nuova2=nuova.replace("s", "$"); 
     String nuova3=nuova2.replace("e", "&"); 
     System.out.println(nuova3); 

      //replaceAll 
     String nuovaz=x.replaceAll("i", "!"); 
     String nuova2z=nuovaz.replaceAll("s", "$"); 
     String nuova3z=nuova2.replaceAll("e", "&"); 
     System.out.println(nuova3z); 


    } 

} 
+1

'Строка nuova3z = nuova2.replaceAll ("е"," &"); 'есть ошибка 'nuova2' должна быть' nuova2z'. –

ответ

3

replaceAll работы с регулярными выражениями. В методе replacAll$ является зарезервированным символом, который используется для ссылки на группы, определенные в регулярном выражении, заданные как первый параметр, поэтому вам необходимо его избежать.

String nuova2z=nuovaz.replaceAll("s", "\\$"); 

DEMO

1

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

String nuovaz=x.replaceAll("i", "!"); 
String nuova2z=nuovaz.replaceAll("s", "\\$"); 
Смежные вопросы