代码之家  ›  专栏  ›  技术社区  ›  Cedric Zoppolo

将包含整数的字符串转换为整数

  •  -1
  • Cedric Zoppolo  · 技术社区  · 6 年前

    我正在尝试将包含的整数转换为字符串 "15m" 变成一个 integer .

    通过下面的代码,我可以实现我想要的。但是我想知道是否有更好的解决方案来解决这个问题,或者我不知道哪个函数已经实现了这个问题。

    s = "15m"
    s_result = ""
    for char in s:
        try:
            i = int(char)
            s_result = s_result + char
        except:
            pass
    result = int(s_result)
    print result
    

    此代码将输出以下结果:

    >>> 
    15
    

    也许没有这样的“更好”的解决方案,但我想看看其他的解决方案,比如使用 regex 也许吧。

    2 回复  |  直到 6 年前
        1
  •  4
  •   Cedric Zoppolo    6 年前

    import re
    result = int(re.sub('[^0-9]','', s))
    print result
    

    >>> 
    15
    
        2
  •  1
  •   The fourth bird    6 年前

    ^\d+

    import re
    regex = r"^\d+"
    test_str = "15m"
    match = re.search(regex, test_str)
    
    if match:
        print (int(match.group()))