代码之家  ›  专栏  ›  技术社区  ›  Eric Bole-Feysot

用正则表达式替换1美元

  •  0
  • Eric Bole-Feysot  · 技术社区  · 6 年前

    “10,20,30”->“10,20,31”

    这是为了测试$1是否按预期工作:

    Regex.Replace("10, 20, 30", @"(\d+)$", "-$1-")
    10, 20, -30-
    

    这是为了测试铸件是否按预期工作:

    Regex.Replace("10, 20, 30", @"(\d+)$", (int.Parse("30")+1).ToString())
    10, 20, 31
    

    最终的完整代码不起作用:

    Regex.Replace("10, 20, 30", @"(\d+)$", (int.Parse("$1")+1).ToString())
    input string was not in a correct format
    

    为什么1美元在选角时不被解读?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Eric Bole-Feysot    6 年前

    拉塞·维格瑟·卡尔森给出了正确的答案。有关详细信息,请参阅问题注释。

    Regex.Replace("10, 20, 30", @"(\d+)$",ma => (int.Parse(ma.Value)+1).ToString())
    10, 20, 31