我正在尝试以下操作:
scala> " in gral. case".replaceAll("""(?imx) \bgral\.\b """, "(*)")
res14: java.lang.String = " in gral. case"
问题似乎是第二个\b,因为如果我尝试
scala> " in gral. case".replaceAll("""(?imx) \bgral\. """, "(*)")
res16: java.lang.String = " in (*) case"
有用
我认为问题在于“。” 本身是一个单词分隔符,那么我如何指示一个不是点的单词分隔符?
- 编辑
我想要完成的是删除几个可能带有或不带有点后缀的缩写,就像这样(它们是街道名称)
"xxx av av. avenue" -> xxx
"yyy dr dr. doctor zzz" -> yyy zzz
所以我正在尝试类似的东西
"xxx".replaceAll("""(?imx) \b(?:av\.|av|avenue|dr\.|dr|doctor)\b""", "")
但我得到以下
scala> "xxx av av. avenue".replaceAll("""(?imx) \b(?:av\.|av|avenue|dr\.|dr|doctor)\b""", "")
res30: java.lang.String = "xxx . "
scala> "yyy dr dr. doctor zzz".replaceAll("""(?imx) \b(?:av\.|av|avenue|dr\.|dr|doctor)\b""", "")
res31: java.lang.String = yyy . zzz