2012-04-03 3 views
1

Я знаю, что это может быть любительский вопрос, но по какой-то причине я не могу вспомнить, как это сделать. У меня есть 2 строки.android заменить несколько символов из строки

String s ="["; 
String q ="]"; 

, если мой текст содержит какие-либо из них я хочу, чтобы заменить его w что:

String w = ""; 

Я попытался следующие:

output=String.valueOf(profile.get("text")).replace(s&&q, w); 

от того, что я понимаю, если из S ([) и любой из Q (]) в тексте, они будут заменены на w. моя проблема в том, чтобы получить 2. если я только попробую и заменим один, тогда он будет работать. иначе это не будет.

любая помощь будет оценена

ответ

9

Вы можете вкладывать их тоже:

output=String.valueOf(profile.get("text")).replace(s, w).replace(q, w); 
+0

это делает так же, как раньше. просто заменив s и не заменив q –

+0

Проверьте редактирование, я думал, что вам нужна полная строка. – noob

+0

Вы изменили его? это выглядит так же –

8

Я думаю, что это то, что вы имеете в виду:

String s = "abc[def]"; 
String w = "hello"; 

System.out.println(s.replaceAll("\\[|\\]", w)); 

Выходы abchellodefhello.

String.replaceAll() принимает в качестве первого аргумента регулярное выражение, которое обеспечивало бы необходимую гибкость.

+0

это делает, но он не удален –

+0

@ TuffyG, да. – hmjd

+0

нет для меня это не –

0

проверить этот

String s ="["; 
    String q ="]"; 
    String w = ""; 

    String output=w.replace("[", w); 
    output=output.replace("]", w); 
2
String s = "["; 
String q = "]"; 
String w = "{"; 
String as = "sdada[sad]sdas"; 
String newstring = as.replace(s, w).replace(q,w); 
Toast.makeText(_activity,newstring,Toast.LENGTH_LONG).show(); 

Это рабочий код для вас ...

1

Если вы читали на http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#replace%28char,%20char%29 вы увидите, что она принимает два полукокс объектов в качестве аргумента. Конструкция «& & q» и «s || q» являются незаконными и тарабарскими. Подумайте об этом: что именно логическая операция («foo» & & «бар») возвращается?

ли это:

output = String.valueOf(profile.get("text")).replace(q, w).replace(s, w); 

Это даст то, что вы хотите.

+0

Я понимаю. && был последним средством после того, как я опробовал миллион и еще один способ –

Смежные вопросы