2010-07-05 4 views
1

друзей,проблема со сборкой?

я столкнулся вопрос

когда я отображать чью-то пост в андроида ListView он показывает мне

кто \ 's пост

я хочу, чтобы удалить \ from string и написал следующий код, который дает мне ошибку outofmemory

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

какой-нибудь гид меня, что такое душа?

ответ

2

Не заменяет работу наоборот?

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

ах моя ошибка LOL – UMAR

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" 
Смежные вопросы