开发者

android string Comparison problem?

friends,

i am facing an issue开发者_如何学C

when i display someone's post in android listview it shows me

someone\'s post

i want to remove \ from string and wrote following code which give me outofmemory error

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

any one guide me whats the soultion?


Doesn't replace work the other way round?

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


Here's an excerpt from the documentation:

public String replace(CharSequence target, CharSequence replacement):
Replaces each substring of this string that matches the literal target sequence with the specified literal replacement sequence. The replacement proceeds from the beginning of the string to the end, for example, replacing "aa" with "b" in the string "aaa" will result in "ba" rather than "ab".

So the error in this particular case is that you've swapped the arguments around.

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

Note that you don't really need to do an if/contains check: if target is not found in your string, then no replacement will be made.

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜