繁体   English   中英

正则表达式精确或包含

[英]Regular expression for exactly OR contains

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

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

格兰特沃思爱尔兰

爱尔兰格兰特沃思

爱尔兰格兰特沃思

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

所以问题是我怎样才能用加号替换“,”(如果<space>,不存在完全用加号替换空格/逗号)?

(或者换句话说,我如何确定该地点已准备好作为请求发送到 API)。

PS当然,我可以用替换来做到这一点,但不想要!

很简单,你可以用两次替换来完成:首先将任何“,”替换为“”,然后将所有空格替换为一个加号。 如果你想一次替换,你可以使用"[\\,\\s]\\s*"

如果你想用一个加号替换字符串中的任何逗号和空格序列,你可以这样做:

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

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

+表示“前面的项目一次或多次”。

所以[, ]+表示“一次或多次出现逗号和/或空格”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM