有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何使这个正则表达式成为有效的Java正则表达式?

an earlier question I asked关于对邮政街道地址进行消毒的问题上,一位受访者建议采用以下解决方案:

addressString.replace(/^\s*[0-9]+\s*(?=.*$)/,'');

这可能是一个有效的正则表达式调用,但在Java中无效

我尝试将此Java代码更改为以下内容,但未成功:

addressString.replaceAll("/^\\s*[0-9]+\\s*(?=.*$)/","")

但该代码对我测试的地址没有影响:

310 W 50th Street

我没有正确地将其翻译成Java吗


共 (4) 个答案

  1. # 1 楼答案

    编辑以支持以数字开头的街道名称:

    请尝试以下Java字符串:

    "^\\s*[0-9]+\\s*(?=.*$)". 
    
  2. # 2 楼答案

    Java中不需要斜杠

    addressString.replaceAll("^\\s*[0-9]+\\s*(?=.*$)","")
    
  3. # 3 楼答案

    您需要去掉开头和结尾的斜线:

    addressString.replaceAll("^\\s*[0-9]+\\s*(?=.*$)","")
    

    它们用于在某些语言中引用正则表达式,但Java只使用“”

  4. # 4 楼答案

    你需要去掉开头和结尾的斜杠

    将来,你可能会要求澄清答案本身,而不是开始一个新问题。很抱歉,我本来想让给出答案的人自己把它翻译成有效的Java,但是忘了