2011-03-06 72 views
1

是否可以使用正则表达式将“我”替换为“您”和“您”替换为“I”?使用正则表达式替换不同的子字符串

如果是这样,请有人给我看一个表达式吗?我是否需要额外的Matcher代码,而不是一个正则表达式字符串?

(我desperatly努力学习正则表达式,但我发现在谷歌的资源似乎教它,就好像你已经知道了...)

我在寻找这种格式的东西:

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); 

回答

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") 
    );   
    } 

} 
+0

所以这是不可能的一个单一的表达呢?像你这样做是有道理的,但我需要学习正则表达式= / – Matt 2011-03-06 05:03:16