Введение
В этой статье вы узнаете несколько различных способов удаления символа из объекта String
в Java. Хотя в классе String
нет метода remove()
, вы можете использовать вариации метода replace()
и метода substring()
для удаления символов из строк.
Примечание: Объекты String
являются неизменяемыми, что означает, что их нельзя изменить после их создания. Все описанные в этой статье методы класса String
возвращают новый объект String
и не изменяют исходный объект. Тип строки, который вы используете, зависит от требований вашей программы. Узнайте больше о других типах строковых классов и почему строки неизменяемы в Java.
Класс String
имеет следующие методы, которые вы можете использовать для замены или удаления символов:
replace(char oldChar, char newChar)
: Возвращает новый объектString
, который заменяет все вхожденияoldChar
в заданной строке наnewChar
. Вы также можете использовать методreplace()
в форматеreplace(CharSequence target, CharSequence replacement)
, чтобы вернуть новый объектString
, заменяющий подстроку в заданной строке.replaceFirst(String regex, String replacement)
: Возвращает новый объектString
, заменяющий первое подстроку, соответствующую регулярному выражению в заданной строке, на замену.replaceAll(String regex, String replacement)
: Возвращает новый объектString
, заменяющий каждую подстроку, соответствующую регулярному выражению в заданной строке, на замену.substring(int start, int end)
: Возвращает новый объектString
, содержащий подпоследовательность символов, находящихся в данный момент в этой последовательности. Подстрока начинается с указанного начала и продолжается до символа с индексом конца минус 1.
Обратите внимание, что первым аргументом для методов replaceAll()
и replaceFirst()
является регулярное выражение. Вы можете использовать регулярное выражение для удаления шаблона из строки.
Примечание: Вам нужно использовать двойные кавычки для указания литеральных строковых значений при использовании методов replace()
. Если вы используете одинарные кавычки, то JRE предполагает, что вы указываете символьную константу, и вы получите ошибку при компиляции программы.
Удаление символа из строки в Java
Вы можете удалить все вхождения символа из строки в Java, используя метод replace()
для замены символа на пустую строку. В следующем примере кода удаляются все вхождения строчной буквы “a” из данной строки:
String str = "abc ABC 123 abc";
String strNew = str.replace("a", "");
Outputbc ABC 123 bc
Удаление пробелов из строки в Java
Вы можете удалить пробелы из строки в Java, используя метод replace()
для замены пробелов на пустую строку. В следующем примере кода удаляются все пробелы из данной строки:
String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
OutputabcABC123abc
Удаление подстроки из строки в Java
Вы можете удалить только первое вхождение символа или подстроки из строки в Java, используя метод replaceFirst()
для замены символа или подстроки на пустую строку. В следующем примере кода удаляется первое вхождение “ab” из данной строки:
String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Outputc ABC 123 abc
Удаление всех строчных букв из строки в Java
Вы можете использовать регулярное выражение для удаления символов, соответствующих определенному образцу, из строки в Java, используя метод replace.All()
для замены этих символов пустой строкой. В следующем примере кода удаляются все строчные буквы из заданной строки:
String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
OutputABC 123
Удаление последнего символа из строки в Java
Не существует конкретного метода для замены или удаления последнего символа из строки, но вы можете использовать метод String substring() для обрезки строки. В следующем примере кода удаляется последний символ из заданной строки:
String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
Outputabc ABC 123 ab
Попробуйте сами
Приведенный ниже примерный файл определяет класс, который включает в себя все примеры методов, предоставленные в этой статье, и выводит результаты после вызова каждого метода для указанной строки. Вы можете использовать этот примерный код, чтобы попробовать его самостоятельно на разных строках, используя различные шаблоны сопоставления и значения замены.
Если у вас установлена Java, вы можете создать новый файл с названием JavaStringRemove.java
и добавить следующий код в файл:
public class JavaStringRemove {
public static void main(String[] args) {
String str = "abc ABC 123 abc";
// Удаление символа из строки в Java
System.out.println("String after removing all the 'a's = "+str.replace("a", ""));
// Удаление пробелов из строки в Java
System.out.println("String after removing all the spaces = "+str.replace(" ", ""));
// Удаление подстроки из строки в Java
System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));
// Удаление всех строчных букв из строки в Java
System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));
// Удаление последнего символа из строки в Java
System.out.println("String after removing the last character = "+str.substring(0, str.length()-1));
}
}
Скомпилируйте и запустите программу:
- javac JavaStringRemove.java
- java JavaStringRemove
Вы получите следующий вывод:
OutputString after removing all the 'a's = bc ABC 123 bc
String after removing all the spaces = abcABC123abc
String after removing the first 'ab' substring = c ABC 123 abc
String after removing all the lowercase letters = ABC 123
String after removing the last character = abc ABC 123 ab
Каждый метод в примерном классе JavaStringRemove
работает с указанной строкой. Вывод показывает, что символы, указанные в каждом методе, были удалены из строки.
Заключение
В этой статье вы узнали различные способы удаления символов из строк в Java с использованием методов из класса String
, включая replace()
, replaceAll()
, replaceFirst()
и substring()
. Продолжайте обучение с дополнительными учебниками по Java.
Source:
https://www.digitalocean.com/community/tutorials/java-remove-character-string