我有一个数字字符串,有时它包含字母。我必须从我的输入字符串中删除字母和之后的所有内容。我努力了:import reb = 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']
2 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
import re
match = re.search('^[\d]+', '1234h')
if match:
print(match.group(0))
对于“1234”和“1234h” ,它将返回“1234 ”。它在开始后找到一系列数字,并在字母后忽略。
慕桂英3389331
TA贡献2036条经验 获得超8个赞
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', '5278', '58586']
print(sanitized_list)
添加回答
举报
0/150
提交
取消