2013-02-01 2 views
0

должны изменить характер «^» в «255E»Чтобы изменить символ в строку

String s_ysymbol = c1.getString(c1.getColumnIndex(DBConstants.YSYMBOL)); 

в этом ysymbol начиная charecter будет^должны изменить его 255E и затем сделать дальнейший процесс. . Я попытался заменить методу

s_ysymbol.replace("^","255E"); 

, но он не меняется .. кто-нибудь может обеспечить решение ..

+0

Строки неизменны в Java. Вам нужно повторно назначить результирующую строку. –

ответ

3

попробовать этот s_ysymbol = s_ysymbol.replace("^","255E");

1

replace возвращает еще один экземпляр String, вы не можете изменить существующее, поэтому требуется назначение.

s_ysymbol = s_ysymbol.replace("^","255E"); 

В качестве альтернативы, вы можете использовать replaceFirst или replaceAll проходить регулярное выражение и изменить первое вхождение или все вхождения этого. В таком случае вам придется использовать escape-символ.

s_ysymbol = s_ysymbol.replaceFirst("\^","255E"); 
+0

Нет, первый аргумент замены не является регулярным выражением. –

+0

@RohitJain извините, я смутил его с 'replaceFirst' – toniedzwiedz

1

просто загляните в исходный код класса String.

public final class String{ 
.... 
} 

Обращаем внимание на ключевое слово final. Это означает, что объект String нельзя изменить. Таким образом, все методы класса String не изменяют сам объект, а создают новый объект String и возвращаются к новому объекту. Вот почему только «s_ysymbol.replace («^»,« 255E »);» не вносит никаких изменений.

s_ysymbol = s_ysymbol.replace("^","255E"); 

это будет работать.

Смежные вопросы