正则表达式包含或

时间:2020-02-04 09:02:33

标签: java regex

我想将位置发送到Google Geocoding API,因此我想用+替换文本中的任何空格或逗号(可以接收)。

例如,所有这些样本应该返回Glentworth + Ireland

爱尔兰格伦特沃斯

爱尔兰格伦特沃斯

爱尔兰格伦特沃斯

我尝试过:place.replaceAll("/\\\\b ,/\\\\b|[ ,]", "+")。但是我仍然遇到了最新的案例Glentworth ++ Ireland(应该只加一个)。

所以问题是我怎么能用加号替换“”(以及<space>,是否不存在确切要用加号替换空格/逗号的情况)?

(或换句话说,我如何确定该位置已准备好根据请求发送到API)。

P.S。当然,我可以用替换代替它,但不要!

2 个答案:

答案 0 :(得分:1)

只需使用两个替换即可:首先将任何“,”替换为“”,然后将所有空格替换为一个加号。 如果要一次替换,可以使用"[\,\s]\s*"

答案 1 :(得分:0)

如果要用单个加号替换字符串中的任何逗号和空格序列,则可以执行以下操作:

place.replaceAll("[, ]+", "+")

[, ]是一个包含逗号和空格的字符类,这意味着它将匹配逗号或空格。

+的意思是“前一项或多次”。

所以[, ]+的意思是“出现一个或多个逗号和/或空格”。

相关问题