android从字符串中替换多个字符

时间:2012-04-03 08:48:22

标签: java android

我知道这可能是一个业余问题,但出于某种原因,我不记得如何做到这一点。 我有2个字符串。

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

如果我的文字包含其中的任何内容,我想将其替换为w,即:

String w = "";

我尝试了以下内容:

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

根据我的理解,如果S([)和任何Q(])在文本中,它们将被替换为w。 我的问题是获得2.如果我只尝试替换一个然后它将工作。否则它不会。

任何帮助将不胜感激

6 个答案:

答案 0 :(得分:12)

您也可以将它们嵌套:

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

答案 1 :(得分:9)

我认为这就是你的意思:

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

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

输出abchellodefhello

String.replaceAll()接受正则表达式作为其第一个参数,这将提供所需的灵活性。

答案 2 :(得分: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();

这是你的工作代码......

答案 3 :(得分:1)

如果您阅读http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#replace%28char,%20char%29,您会看到它需要两个char对象作为参数。建筑“s& q”和“s || q”都是非法的和乱码的。想一想:逻辑操作(“foo”&&"“bar”)究竟会返回什么?

这样做:

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

这将产生你想要的东西。

答案 4 :(得分:0)

看看这个

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

    String output=w.replace("[", w);
    output=output.replace("]", w);

答案 5 :(得分:-1)

尝试使用java.lang.String中的replaceAll方法。