Метод 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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector