Замена разных подстрок с помощью регулярных выражений - PullRequest
1 голос
/ 06 марта 2011

Возможно ли иметь регулярное выражение, которое заменяет «Я» на «ты» и «ты» на «Я»?

Если да, то может кто-нибудь показать мне выражение? Нужен ли мне дополнительный код Matcher, а не одна строка регулярного выражения?

(Я отчаянно пытаюсь выучить регулярные выражения, но все ресурсы, которые я нахожу в Google, похоже, учат этому, как будто вы уже это знаете ...)

Я ищу что-то в этом формате:

String s = "I love you";
String pattern = "???";
String replacement = "???";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(s);
String newString = m.replaceAll(replacement);
System.out.println(newString);

1 Ответ

2 голосов
/ 06 марта 2011

Быстро и грязно, просто чтобы вы поняли.Но вам может потребоваться улучшить его, чтобы сделать его более надежным ...

public class IdentityCrisis
{

  public static void main( String[] args )
  {
    String dilemma = "I know you want me to be something I don't want to be unless you prove me it is OK";

    System.out.println(
       dilemma.replaceAll("I", "y-o-u")
              .replaceAll("you", "I")
              .replaceAll("y-o-u", "you")
    );        
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...