在关于消毒邮政街道地址的an earlier question I asked中,其中一位受访者推荐了此解决方案:
addressString.replace(/^\s*[0-9]+\s*(?=.*$)/,'');
这可能是一个有效的正则表达式调用,但在Java中无效。
我尝试通过将其更改为以下内容来尝试创建此有效Java代码,但未成功:
addressString.replaceAll("/^\\s*[0-9]+\\s*(?=.*$)/","")
但是这段代码对我测试的地址没有影响:
310 W 50th Street
我没有正确地将其翻译成Java吗?
答案 0 :(得分:5)
您不需要Java中的斜杠。
addressString.replaceAll("^\\s*[0-9]+\\s*(?=.*$)","")
答案 1 :(得分:3)
你需要在开头和结尾取出斜杠:
addressString.replaceAll("^\\s*[0-9]+\\s*(?=.*$)","")
它们用于引用某些语言的正则表达式,但Java只使用“”
答案 2 :(得分:1)
你需要在开头和结尾摆脱正斜杠。
对于未来,您可能会要求澄清答案本身,而不是开始一个新问题。我道歉,我打算请那个给出答案的人自己把它翻译成有效的Java但是忘了。
答案 3 :(得分:0)
编辑以支持以数字开头的街道名称:
尝试以下Java字符串:
"^\\s*[0-9]+\\s*(?=.*$)".