3 回答

TA貢獻1811條經(jīng)驗 獲得超5個贊
只使用 split 怎么樣:
str = "Jack;10;20;30\n Omar;20,24,25\n Carl;30;30;30\n"
output_list = [line.split(";")[1:] for line in str.split("\n")]
output = [";".join(line) for line in output_list]
>>>['10;20;30', '20,24,25', '30;30;30', '']

TA貢獻1808條經(jīng)驗 獲得超4個贊
您可以split將字符串、結(jié)果列表切片,然后join使用相同的分隔符將切片列表重新轉(zhuǎn)換為字符串:
s = "Jack;10;20;30\n Omar;20,24,25\n Carl;30;30;30\n"
print('\n'.join(';'.join(l.split(';')[1:]) for l in s.splitlines()))
這輸出:
10;20;30
20,24,25
30;30;30

TA貢獻1842條經(jīng)驗 獲得超13個贊
在您的確切情況下,您可以使用 python 的內(nèi)置re和列表理解。
>>> import re
>>> text = "Jack;10;20;30\n Omar;20,24,25\n Carl;30;30;30\n"
>>> [number for number in re.split(';|,| |\n|', text) if number.isdigit()]
['10', '20', '30', '20', '24', '25', '30', '30', '30']
re.split將字符串拆分為;, ,,和\n
列表理解創(chuàng)建數(shù)字元素列表。
添加回答
舉報