如何解决如何检查字符串是否包含字母?
我有一个数字字符串,有时它包含字母。我必须从输入字符串中删除字母及其后的所有内容。 我尝试过:
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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。