如何编写正则表达式以删除<start:person>
之前和<End>
末尾的“-”,“。”,“ /”等字符。
示例
----------------------------------------------
S23.<START:datetime> SEP.96 <END>
To
S23 <START:datetime> SEP.96 <END>
----------------------------------------------
S23.<START:datetime> SEP.96 <END>-
To
S23 <START:datetime> SEP.96 <END>
----------------------------------------------
因此我要删除
-
,
`
.
这些注释之前的等。
答案 0 :(得分:2)
下面的代码可以做到:
String input = ...;
final Pattern specials = Pattern.compile("[-,`.]+");
String output = Pattern.compile("(?mi)^(.*?)(<START:(?s:.*?)<END>)(.*)$").matcher(input).replaceAll(mr ->
specials.matcher(mr.group(1)).replaceAll("") + mr.group(2) + specials.matcher(mr.group(3)).replaceAll(""));