Как удалить символ из строки в Java
Введение
В этой статье вы узнаете о нескольких различных способах удаления символа из объекта String
в Java. Хотя в классе String
нет метода remove()
, вы можете использовать варианты метода replace()
и метода метод substring()
для удаления символов из строк.
Примечание. Объекты String
являются неизменяемыми, что означает, что их нельзя изменить после создания. Все методы класса String
, описанные в этой статье, возвращают новый объект String
и не изменяют исходный объект. Тип используемой строки зависит от требований вашей программы. Узнайте больше о том, почему строки неизменяемы в Java.
Класс String
имеет следующие методы, которые можно использовать для замены или удаления символов:
replace(char oldChar, char newChar)
: возвращает новый объектString
, который заменяет все вхожденияoldChar
в заданной строке. с помощьюnewChar
. Вы также можете использовать методreplace()
в форматеreplace(цель CharSequence, замена CharSequence)
, чтобы вернуть новый объектString
, который заменяет подстроку в заданной строке.replaceFirst(регулярное выражение строки, замена строки)
: возвращает новый объектString
, который заменяет первую подстроку, соответствующую регулярному выражению в данной строке, заменой.< /li>replaceAll(регулярное выражение строки, замена строки)
: возвращает новый объект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";
// Remove a character from a string in Java
System.out.println("String after removing all the 'a's = "+str.replace("a", ""));
// Remove spaces from a string in Java
System.out.println("String after removing all the spaces = "+str.replace(" ", ""));
// Remove a substring from a string in Java
System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));
// Remove all the lowercase letters from a string in Java
System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));
// Remove the last character from a string in 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.