我需要从语句中删除尾随小数/点。以下是声明
ABC paid 10.25 RS confirmed. from bank XYZ 20125722. on 23-12-2012
我想从语句中删除尾随小数/点。删除十进制/点后,它应该像
ABC paid 10.25 RS confirmed from bank XYZ 20125722 on 23-12-2012
请注意,我不需要删除10.25
中的小数,但在其他地方。我怎么能用Java做到这一点?
答案 0 :(得分:1)
在Java中,只需对字符串使用replaceAll(String pattern,String replacement)方法,如下所示:
String result = "ABC paid 10.25 RS confirmed. from bank XYZ 20125722. on 23-12-2012".replaceAll("\\.\\s+"," ") ;
答案 1 :(得分:0)
您可以使用的正则表达式是Perl或Perl-regex支持语言中的/\.\S+/
。否则/\.[ ^I]/
其中“^ I”是TAB字符。将其替换为空。
希望有所帮助。
答案 2 :(得分:0)
您应该使用 \\。\\ s + ,因为点后可能包含许多空格或一个空格。
以下代码:
String result = "ABC paid 10.25 RS confirmed. from bank XYZ 20125722. on 23-12-2012"
.replaceAll("\\.\\s+", " ");
答案 3 :(得分:0)
答案 4 :(得分:0)
你的正则表达式是
\.(?=\s|$)
表示在点后跟空格或字符串结尾时匹配点。 (?=\s|$)
是一个positive lookahead,它确保后面有一个空格或字符串的结尾,但是不匹配,所以不需要再插入它,只需用空字符串替换。
对于你的java
String res = "ABC paid 10.25 RS confirmed. from bank XYZ 20125722. on 23-12-2012".replaceAll("\\.(?=\\s|$)", "");