如何检查字符串是否包含字母?

问题描述

我有一个数字字符串,有时它包含字母。我必须从输入字符串中删除字母及其后的所有内容。 我尝试过:

import re
b = re.split('[a-z]|[A-Z]',a)
b = b[0]

但是,只要字符串不包含字母,这都会返回错误

在尝试拆分字母之前,我是否需要检查a是否包含字母?

如何检查

两个例子:

a = '1234' 

a = '1234h'

我想在两者之后都拥有b = '1234'


一个例子:
我想a= '4/200,3500/ 500 h3m'a= '4/200,3500/ 500h3m'来 返回类似的内容

b= ['4','200','3500','500']

解决方法

import re
match = re.search('^[\d]+','1234h')
if match:
    print(match.group(0))

它将为“ 1234”和“ 1234h”返回“ 1234” 。 在开始后会找到一系列数字,在字母后会忽略。

,
list = ['1234abc','5278','abc58586']

def range_sanitizer(s,lower_bound,upper_bound):
    return ''.join([x for x in s if lower_bound < x < upper_bound])

def remove_non_digits(s):
    return range_sanitizer(s,'0','9')

def sanitize_list(list,sanitizer=remove_non_digits):
    return [sanitizer(item) for item in list]

if '__main__' == __name__:
    sanitized_list=sanitize_list(list)

    # ['1234','58586']
    print(sanitized_list)