如果包围/前面/后面是非数字,我想用空格替换点,如果包围/前面/后面是数字,则不执行任何操作。
例如,字符串“我跑了 4.4 公里。总共 2 次。”将变成“我跑了 2 次,总计 4.4 公里”
我需要帮助来构建这个正则表达式。我正在使用这个:
string.replaceAll("[D].", "[D]")
并且,仅获得大量点。
最佳答案
您可以使用前瞻和后瞻,例如
System.out.println(Str.replaceAll("(?<=\\D)\\.(?=\\D|$)", ""));
正则表达式说明
(?<=\\D) #Lookbehind to match non-digit
\\. #Match . literally
(?=\\D|$) #Lookahead to match non-digit or end of string
关于java - 用点构建正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38229109/