是否可以使用正则表达式将“I”替换为“you”而将“you”替换为“I”?
如果是这样,有人可以告诉我一个表达方式吗?我是否需要额外的匹配器代码,而不是单个正则表达式字符串?
(我正在拼命地学习正则表达式,但我在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);
答案 0 :(得分:2)
快速而肮脏,只是让你明白了。但是你可能需要改进它以使其更加健壮......
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")
);
}
}