Рубрики
Без рубрики

Замените целое слово Границами слов в Java

Теперь я собираюсь познакомить вас, если вы – Как заменить целое слово границами слов вашего предложения на java. Если вы хотите заменить весь мир словом границы..

Автор оригинала: Amit Pandey (Coding Issue).

Теперь я собираюсь познакомить вас, если вы – Как заменить целое слово границами слов вашего предложения на java. Если вы хотите заменить весь мир на границы слов в строке. Замените слово Границами в Java. Для этого мы используем маркер регулярного выражения “\b”, который называется границей слова. Обычно оно совпадает в начале или в конце слова.

Какие именно символы являются символами слов, зависит от типа регулярного выражения, с которым вы работаете. В большинстве вариантов символов, которые соответствуют классу сокращенных символов \w, являются символами, которые рассматриваются как символы слова по границам слов. Java является исключением. Java поддерживает Юникод для \b,но не для \w. Очень похоже на Javascript.

Сопоставители границ помогают найти определенное слово, но только если оно появляется в начале или конце строки. Они не соответствуют никаким символам. Вместо этого они совпадают в определенных позициях, эффективно закрепляя соответствие регулярных выражений в этих позициях. Вы можете получить больше информации здесь .

Вы можете сделать соответствие вашего шаблона более точным, указав такую информацию с помощью средств сопоставления границ. Итак, теперь давайте рассмотрим пример замены слова в предложении на java.

package com.codingissue.test;

public class TestApps {
    /*
      *@param args
     */
    public static void main(String[] args){
        String s = "A man is an Ironman like manpower";

        //It will replace if the first character is a word character or not
        String d = s.replaceAll("\\bman", "tony");
        System.out.println(d);

        //It will replace if  if the last character is a word character or not
        String b = s.replaceAll("man\\b", "tony");
        System.out.println(b);

        //It will replace whole word only
        String c = s.replaceAll("\\bman\\b", "tony");
        System.out.println(c);
   }
}

Обратная косая черта от символа границы должна быть экранирована, следовательно, двойные обратные косые черты.

Выход:

Тони-железный человек, как тони пауэр, Тони-Железный тони, как рабсила. Тони-железный человек, как и “рабсила”

\B-это отрицаемая версия \b. \B совпадает в каждой позиции, где \b не совпадает. По сути, \B совпадает в любой позиции между двухсловными символами, а также в любой позиции между двумя несловными символами.

Оригинал: “https://www.codementor.io/@dev_amitpandey/replace-the-whole-word-with-word-boundaries-in-java-w5l360t5z”