为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕容3067478 2021-09-02 14:53:18
字符串:"杰克;10;20;30\n 奥马尔;20,24,25\n 卡尔;30;30;30\n"如何使用 map 删除或过滤字符串中的所有名称?str = filter( x.isdigit() , for x str)但它似乎不能正常工作。
查看完整描述

3 回答

?
四季花海

TA贡献1811条经验 获得超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', '']


查看完整回答
反对 回复 2021-09-02
?
炎炎设计

TA贡献1808条经验 获得超4个赞

您可以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;30

20,24,25

30;30;30


查看完整回答
反对 回复 2021-09-02
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

在您的确切情况下,您可以使用 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


列表理解创建数字元素列表。


查看完整回答
反对 回复 2021-09-02
  • 3 回答
  • 0 关注
  • 272 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信