android字符串比较问题?

时间:2010-07-05 10:17:57

标签: java android

朋友,

我正面临一个问题

当我在android listview中显示某人的帖子时,它会显示我

某人的帖子

我想从字符串中删除 \ 并编写以下代码,这些代码会给我带来内存错误

if(val.contains("\\"))
        {
        val=val.replace("", "\\");
        }

任何一个人指导我的灵魂?

2 个答案:

答案 0 :(得分:2)

不会反过来替换工作吗?

val = val.replace("\\", "");

答案 1 :(得分:1)

以下是文档的摘录:

  

public String replace(CharSequence target, CharSequence replacement)
  将与该文字目标序列匹配的此字符串的每个子字符串替换为指定的文字替换序列。替换从字符串的开头到结尾,例如,将"aa"替换为字符串"b"中的"aaa"将导致"ba"而不是"ab" }。

因此,在这种特殊情况下的错误是您已经交换了参数。

System.out.println(  "a\\b"                    ); // "a\b"
System.out.println(  "a\\b".replace("", "\\")  ); // "\a\\\b\"
System.out.println(  "a\\b".replace("\\", "")  ); // "ab"

请注意,您实际上不需要进行if/contains检查:如果在您的字符串中找不到target,则不会生成replacement

System.out.println("a+b".replace("\\", "")); // "a+b"