我遇到需要删除文件中所有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
有任何帮助吗?
答案 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);