Метод Replace() в Java
Содержание
Метод Java String replace() заменяет все существующие вхождения символа в String другим символом.
Синтаксис
String replace(char oldChar, char newChar)
Замена последовательностей символов
Метод Java String replaceAll() заменяет все подстроки заменяющей строкой.
Синтаксис
String replaceAll(String regex, String replacement)
Замена первого вхождения
Метод Java String replaceFirst() заменяет первую подстроку, которая соответствует указанному с помощью замены String.
Синтаксис
String replaceFirst(String regex, String replacement)
Пример
class TestClass{ public static void main (String[] args){ // замена одиночного символа String str = "twinkle twinkle little star"; System.out.println(str); String output= str.replace('t','T'); System.out.println(output); // заменяем всю подстроку System.out.println(str); output = str.replaceAll("twinkle","Hi"); System.out.println(output); // замена первой подстроки System.out.println(str); output = str.replaceFirst("twinkle","Hi"); System.out.println(output); } }
Выход
twinkle twinkle little star Twinkle Twinkle liTTle sTar twinkle twinkle little star Hi Hi little star twinkle twinkle little star Hi twinkle little star
Регулярные выражения
Метод replaceAll() допускал регулярные выражения для замены всех вхождений совпадающих последовательностей символов внутри строки.
Пример
class TestClass{ public static void main (String[] args){ // замена одиночного символа String str = "twinkle 1111 twinkle 2222 little 3333 star"; System.out.println(str); String output = str.replaceAll("[a-zA-Z]+","Hi"); System.out.println(output); output = str.replaceAll("[0-9]+","Hi"); System.out.println(output); } }
Выход
twinkle 1111 twinkle 2222 little 3333 star Hi 1111 Hi 2222 Hi 3333 Hi twinkle Hi twinkle Hi little Hi star
Разница между строкой replace() и replaceAll()
Разница между строкой replace() и replaceAll()
...
Метод замены строки Java принимает либо пару символов, либо пару CharSequence. Метод replace заменит все вхождения char или CharSequence. С другой стороны, оба аргумента String для replaceFirst и replaceAll являются регулярными выражениями (regex). В случае производительности метод replace() немного быстрее, чем replaceAll(), потому что replaceAll() сначала компилирует шаблон regex, а затем сопоставляется до окончательной замены, тогда как replace() просто соответствует предоставленному аргументу и заменяет.
Источник: http://net-informations.com/Java/string/replace.htm