Удаление символов в строке Java - PullRequest
1 голос
/ 21 декабря 2010

Я хочу удалить символы из строки. Пример: у меня есть приложение, которое, когда пользователи снимают галочку, строит сценарий sql, поэтому, если они проверяют женский код, оно добавляет строку String And Gender = 'Female'. и если они выбирают мужчину, он добавляет And Where gender = 'Male'. Сценарий работает хорошо при добавлении в строку, поскольку они отмечены, но когда вы снимаете флажок с элемента, я не уверен, как удалить символ, который был добавлен, когда он был отмечен. Я попробовал .Replace .ReplaceAll и все остальные заменить. Я знаю строку, которую хочу удалить, почему она не заменит ее на "".

String SQL; 
SQL += " AND Gender = 'Female'";  
SQL.Replace("AND Gender = 'Female'","");

Это не сработает!

Ответы [ 4 ]

7 голосов
/ 21 декабря 2010
SQL = SQL.replace("AND Gender = 'Female'","");

строки неизменны в Java

1 голос
/ 21 декабря 2010

Строка является неизменным классом.Вот другое решение: конвертировать в StringBuffer или StringBuilder и удалить из startIndex в endIndex

String s = "test tes te t ";
String str = new StringBuffer(s).delete(start, end).toString();

for example :
String str = new StringBuffer(s).delete(0, 8).toString();
System.out.println(str); // s te t 
1 голос
/ 21 декабря 2010

Не используйте строку, если вы хотите что-то изменчивое.Вместо этого вам лучше использовать объект StringBuilder.Затем, когда вы закончите модифицировать его, вы можете вызвать toString (), чтобы получить нужную вам строку.API покажет вам методы этого гибкого класса.

1 голос
/ 21 декабря 2010

Строка java (java.lang.String) является неизменной;это не может быть отредактировано.Вы можете попробовать использовать StringBuffer (java.lang.StringBuffer), который является изменяемым буфером для возврата строк.

StringBuffer SQL = new StringBuffer();
SQL.append(" AND Gender = 'Female'");

Вы также можете использовать replace и delete для удаления подстрок из буфера.Когда вы закончите редактирование буфера, просто используйте SQL.toString().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...