替换字符串java中的几个不同的字符

时间:2017-03-26 21:57:20

标签: java regex string replace

我有一个我读过的文件中的字符串,我想删除该字符串的内容。一个例子是这样的:PN ,D2 ,R2 , F ,Di , B ,Ri ,Fi我想要做的是删除所有逗号,如果每个1或2个字符(如R2 , F)之间有多个空格我想删除额外的空格和逗号。到目前为止,我已经能够删除字符串中的一些其他内容,但似乎无法删除逗号和额外的空格。

String cleanerLine = reverseLine.replaceAll("PN ,", "");
        System.out.print("Solution: " + cleanerLine);

输出如下: Solution: D2 ,R2 , F ,Di , B ,Ri ,Fi

1 个答案:

答案 0 :(得分:2)

String.replaceAll(String,String)方法将第一个参数作为正则表达式。所以你可以这样写:

String cleanerLine = reverseLine.replaceAll("PN ,","")
                                .replaceAll(",", "")
                                .replaceAll(" {2,}"," ");

" {2,}"是一个正则表达式,与所有" 两个或多个空格匹配"。

reverseLine时:

String reverseLine = "PN ,D2 ,R2 , F ,Di , B ,Ri ,Fi";
System.out.println(reverseLine.replaceAll("PN ,","").replaceAll(",", "").replaceAll(" {2,}"," "));

它产生:

D2 R2 F Di B Ri Fi