如何优化以下正则表达式,因为我必须运行超过十亿条记录
String test = "source[{\"name\": \"Mokole\", \"country\": \"CD\",\"location\": {\"lat\": .033333, \"lon\": -.583333}}]}\n";
String result = test.replace(" ."," 0.").replace("-.","-0.");
答案 0 :(得分:2)
String result = test.replaceAll("([ -])\\.","$1\\0.")
您可以将2
正则表达式合并到1
。
答案 1 :(得分:1)
因为我必须运行超过十亿条记录 ==>然后每次调用时都不要使用replaceAll()
来创建模式。
使用static Pattern
使用相同的正则表达式字符串创建Pattern.compile
。然后为每个输入字符串调用pattern.matcher(inputString)
。然后调用matcher.replaceAll()
方法。
PS:在他的回答中使用VKS
提到的正则表达式