gpt4 book ai didi

python - python 获取字符串中某个字符前后的特定子字符串

转载 作者:行者123 更新时间:2023-12-01 04:17:02 25 4
gpt4 key购买 nike

我想将时间与描述字符串分开。desc 可以有这种类型的字符串:

desc = '08:59 Hudh aes ....' 
desc = '19:59Aksi jeh....'
desc = 'just letters without time'
desc = '21.19:55Aksi hsue....'
desc = '256.08:59Aksi mane....'

time 包含描述的前 10 个字母我想找到 : 然后在它之前和之后取两个数字,这样我就可以分割时间

time = ''.join(filter(lambda x: x, desc[0:10].replace(" " , "")))
print "Time:" , time , time.rsplit(':', 1)[0]

time.rsplit(':', 1)[0] 返回 : 之前的所有数字

time.rsplit(':', 1)[0] 返回 : 之后的所有数字

如何定义在 : 前后仅分割两个数字?这是一个好方法吗?使用正则表达式是更好的主意,我尝试过,但有点复杂?

最佳答案

How to define to split only two numbers after and before :

使用正则表达式;以下正则表达式模式匹配完全 2 位数字,后跟一个冒号,然后完全 两位数字(这正是您所要求的):

import re

desc = '21.19:55Aksi hsue....'
m = re.search(r'(\d{2}):(\d{2})', desc)
if m:
hour, min = m.groups()
else:
# no time in desc string
pass
print 'hour = {}, min = {}'.format(hour, min)

输出

hour = 19, min = 55

关于python - python 获取字符串中某个字符前后的特定子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34199673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com