Kar*_*epK 2 python regex split
d = ["11:00 PM", "13!00 PM", "11 00 PM"]
for i in d:
print(re.split(" ", i)
Run Code Online (Sandbox Code Playgroud)
对于其他人也没关系,版画["11:00", "PM"]和["13!00", "PM"],但11 00 PM它打印["11", "00", "PM"]。我如何更改正则表达式,使其也能返回["11 00", "PM"]那里?
对于这些示例,您可以使用normal text.split()(或更确切地说text.rsplit())代替regex
d = ["11:00 PM", "13!00 PM", "11 00 PM"]
for i in d:
print(i.rsplit(" ", 1))
Run Code Online (Sandbox Code Playgroud)
结果:
['11:00', 'PM']
['13!00', 'PM']
['11 00', 'PM']
Run Code Online (Sandbox Code Playgroud)
编辑:
如果要删除“白色字符”-空格,制表符,回车符-两侧,则可以使用normal text.strip()。类似rstrip(),lstrip()适用于右侧或左侧。或者,strip(' ')如果您只想删除空格并保留制表符并输入,请使用。
i = i.strip().rsplit(" ", 1)
Run Code Online (Sandbox Code Playgroud)
d = [" 11:00 PM", "\n 13!00 PM", "11 00 PM"]
for i in d:
print(i.strip().rsplit(" ", 1))
Run Code Online (Sandbox Code Playgroud)
编辑:如果您想保留结果,则可以追加到列表
d = [" 11:00 PM", "\n 13!00 PM", "11 00 PM"]
results = []
for i in d:
results.append(i.strip().rsplit(" ", 1))
print(results)
Run Code Online (Sandbox Code Playgroud)
或者您可以使用列表理解,如@Alexander在评论中所述
d = [" 11:00 PM", "\n 13!00 PM", "11 00 PM"]
results = [x.strip().rsplit(maxsplit=1) for x in d]
print(results)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |