如何删除python中分号前的所有字母?

字符串:

"杰克;10;20;30\n 奥马尔;20,24,25\n 卡尔;30;30;30\n"

如何使用 map 删除或过滤字符串中的所有名称?

str = filter( x.isdigit() , for x str)

但它似乎不能正常工作。


慕容3067478
浏览 273回答 3
3回答

四季花海

只使用 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', '']

炎炎设计

您可以split将字符串、结果列表切片,然后join使用相同的分隔符将切片列表重新转换为字符串: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;3020,24,2530;30;30

红颜莎娜

在您的确切情况下,您可以使用 python 的内置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列表理解创建数字元素列表。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python