Поиск по сайту:

Как удалить символ из строки в 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", "");
Output
bc ABC 123 bc

Удалить пробелы из строки в Java

Вы можете удалить пробелы из строки в Java, используя метод replace(), чтобы заменить пробелы пустой строкой. Следующий пример кода удаляет все пробелы из заданной строки:

String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
Output
abcABC123abc

Удалить подстроку из строки в Java

Вы можете удалить только первое вхождение символа или подстроки из строки в Java, используя метод replaceFirst() для замены символа или подстроки пустой строкой. Следующий пример кода удаляет первое вхождение \ab из заданной строки:

String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Output
c ABC 123 abc

Удалить все строчные буквы из строки в Java

Вы можете использовать регулярное выражение для удаления символов, соответствующих заданному шаблону, из строки в Java, используя метод replace.All() для замены символов пустой строкой. Следующий пример кода удаляет все строчные буквы из заданной строки:

String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
Output
ABC 123

Удалить последний символ из строки в Java

Не существует специального метода замены или удаления последнего символа из строки, но вы можете использовать метод String substring() для усечения строки. Следующий пример кода удаляет последний символ из заданной строки:

String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
Output
abc 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));
	}

}

Скомпилируйте и запустите программу:

  1. javac JavaStringRemove.java
  2. java JavaStringRemove

Вы получите следующий вывод:

Output
String 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.