删除单词,直到达到特定字符

时间:2018-04-27 18:20:47

标签: python regex

我是python的新手,我很难删除字符串中的单词

9 - Saturday, 19 May 2012

上面是我的字符串我想删除所有字符串

19 May 2012

所以我可以很容易地将它转换为sql date

这是我尝试的能力

new_s = re.sub(',', '', '9 - Saturday, 19 May 2012')

但它只删除","在字符串中。有什么帮助吗?

5 个答案:

答案 0 :(得分:2)

您可以使用string.split(',') 你会得到

['9 - Saturday', '19 May 2012']

答案 1 :(得分:1)

您在.*之前缺少,(匹配任意数量的字符)(以及您可能还想要移除的空格之后的空格:

>>> new_s = re.sub('.*, ', '', '9 - Saturday, 19 May 2012')
>>> new_s
'19 May 2012'

答案 2 :(得分:1)

你的正则表达式只匹配一个逗号,因此它是唯一删除的。

您可以使用 negated character class ,即[^,]*来匹配所有内容,直到您匹配逗号,然后匹配逗号和尾随空格将其删除,如下所示:

>>> print re.sub('[^,]*, *', '', '9 - Saturday, 19 May 2012')
19 May 2012

答案 3 :(得分:0)

正则表达式很棒,但为此您还可以使用.split()

test_string = "9 - Saturday, 19 May 2012"
splt_string = test_string.split(",")
out_String = splt_string[1]

print(out_String)

输出:

 19 May 2012

如果前导' '是一个问题,您可以使用out_String.lstrip()

来解决此问题

答案 4 :(得分:0)

试试这个

a = "9 - Saturday, 19 May 2012"
f = a.find("19 May 2012")
b = a[f:]
print(b)