我知道这可能是一个业余问题,但出于某种原因,我不记得如何做到这一点。 我有2个字符串。
String s ="[";
String q ="]";
如果我的文字包含其中的任何内容,我想将其替换为w
,即:
String w = "";
我尝试了以下内容:
output=String.valueOf(profile.get("text")).replace(s&&q, w);
根据我的理解,如果S([)和任何Q(])在文本中,它们将被替换为w。 我的问题是获得2.如果我只尝试替换一个然后它将工作。否则它不会。
任何帮助将不胜感激
答案 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方法。