替换?使用“nothing”并再次获取原始字符串

时间:2012-07-03 17:16:17

标签: java regex string

这是Code,我正在尝试使用正则表达式来获取原始String

        String str = "Hai ? hello : abc ^ ";

   str = str.replaceAll("[?]+","");

   System.out.println("1"+str);

   String str2 = str.replaceAll("['']+","?");

   System.out.println("2"+str2);

返回原始字符串的正则表达式应该是什么

2 个答案:

答案 0 :(得分:1)

String str = "Hai ? hello : abc ^ ";
String str1 = str.replaceAll("[?]+",""); 
System.out.println("1"+str1); 
String str2 = str1.replaceAll("['']+","?"); 
System.out.println("2"+str2);
System.out.println(str);

答案 1 :(得分:0)

您必须更换替换模式,因为您在第一次替换中丢失了信息

String str = "Hai ? hello : abc ^ ";
String str1 = str.replaceAll("?","|"); 
System.out.println("1"+str1); 
String str2 = str1.replaceAll("|","?"); 
System.out.println("2"+str2);