【问题标题】:How to check if a string contains multiple numbers in Python? [closed]如何在Python中检查一个字符串是否包含多个数字? [关闭]
【发布时间】:2021-07-03 05:12:46
【问题描述】:

我想看看一个字符串是否在字符串本身中包含多个数字,并让它自己打印出数字。

例子:

def number_in_string(string):
    #code to check for a number
    number=int(123445) #in the instance with x
    number=int(24) #in the instance of y
    number=int(32) #in the instance of z
    return(number)

x="123445"
y="rand24chars"
z="rand3chars2"
number=number_in_string(x) #just as an example but I would run through all of the variables ideally
print(number)

我知道能够检查字符串是否有 1 位数字的代码,并且能够添加多个数字或将它们与更多代码相乘,但我不知道如何在同样的时尚。

一位数字的代码:

number=[]
def chars(y,number):
    for i in range(y):
        if (i.isdigit()==True):
            number=number.append(i)
        else:
            continue
    return(number)

y="alkfjh3432,skj"
number=chars(y,number)
print(number) #[3,4,3,2]

如果有人可以帮助我,将不胜感激。

【问题讨论】:

  • 您的 1 位数代码无效。 多位数字是什么意思?

标签: python string integer


【解决方案1】:

你很亲密。

def digits(nbr):
    val = 0
    for i in nbr:
        if i.isdigit():
            val = val * 10 + int(i)
    return val

y="alkfjh3432,skj"
number=digits(y)
print(number)

打印3432。

请注意,循环需要遍历字符串中的字符。这不是 range 的用途。另请注意,Python 中的 if 和 return 语句不使用括号。另请注意,当您使用if x==True: 时,使用if x: 总是更好。与if x==False: 相同,应该是if not x:。

【讨论】:

    【解决方案2】:

    听起来很简单,遍历字符串,如果字符包含数字,则将其添加到结果列表中:

    from typing import List
    
    def get_digits_from_string(string: str) -> List[int]:
        result = []
        for character in string:
            if character.isdigit():
                result.append(int(character))
        return result
    

    【讨论】:

      【解决方案3】:

      要在字符串中搜索,正则表达式会走很长的路。使用正则表达式,您可以简单地搜索所有数字字符 \d :

      import re
      
      def get_digits(x):
        return re.findall(r'\d', x)
      

      更多:https://www.regular-expressions.info

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-10
        • 2014-02-18
        • 2021-05-06
        • 2014-06-25
        • 1970-01-01
        • 2023-03-31
        • 2013-03-13
        • 2014-07-24
        相关资源
        最近更新 更多