如何在java

时间:2017-09-20 15:21:56

标签: java replaceall

我遇到需要删除文件中所有A-Z字符的情况。我可以通过在java中使用replaceAll方法来做到这一点,但同时我想从被替换中排除几个单词。

例如:

str = str.replaceAll("|(?i)A|(?i)B|(?i)C|(?i)D|(?i)E|(?i)F|(?i)G|(?i)H|(?i)I|(?i)J|(?i)K|(?i)L|(?i)M|(?i)N|(?i)O|(?i)P|(?i)Q|(?i)U|(?i)R|(?i)S|(?i)T|(?i)W|(?i)X|(?i)Y|(?i)Z|,"");
  

U0000 - ***应用替换所有逻辑

时应排除此项            

ABCD0000

输出:

  

0000

     

0000

有任何帮助吗?

1 个答案:

答案 0 :(得分:1)

尝试这种方式:

//split the string with your special string
String[] strs = str.split("U0000");
//Iterate through this array and do your "replaceAll" for each string element.
...
//Join the array elements to form your final string
str = String.join("U0000", strs);

这是一个小例子,显示如何替换所有字母,但如果它被4个零成功则替换为“U”。

String str = "a3(BcU0000gs23";
String[] strs = str.split("U0000");
str = Arrays.stream(strs).map(e -> e.replaceAll("[a-zA-Z]", "")).collect(Collectors.joining("U0000"));
System.out.println(str);