我有一個數字字符串,有時它包含字母。我必須從我的輸入字符串中刪除字母和之后的所有內容。我努力了: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
提交
取消