我想知道当您有未知数量的下划线时如何正确拆分字符串。我的输入如下所示:One Two_________1.0 2.0 3.0Three Four______4.0 5.0 6.0Five Six________7.0 8.0 9.0在单词和数字之间有未知数量的下划线。我需要将此输入拆分为单词和数字。我尝试split以这种方式使用:details = input.split("_")words = details[0]numbers = details[1]但是,它正确地只保存了单词。当我将输入更改为只有一个下划线时它起作用了,但是当它有多个下划线时我找不到解决方案。
3 回答
鸿蒙传说
TA贡献1865条经验 获得超7个赞
您可以为此使用正则表达式。
import re
re.split('_+', 'asd___fad')
>>> ['asd', 'fad']
基本上,这是说“当你看到一个下划线(split第一个参数中的下划线)或更多(下划线后面的加号)时拆分”
婷婷同学_
TA贡献1844条经验 获得超8个赞
仅使用内置函数:
# slices input from beginning to first underscore
words = input[:input.find("_")]
# slices input from first underscore to the end, then replaces "_" with "".
numbers = input[input.find("_"):].replace("_", "")
添加回答
举报
0/150
提交
取消