我不熟悉正则表达式,如果有人使用正则表达式提供解决方案可以解释他们的语法,那么我可以将它应用于未来的情况。
我有一个字符串(即。'Description: Mary had a little lamb'
),我想删除'Description: '
,使字符串只读取'Mary had a little lamb,'
,但只读取第一个实例,如果是字符串是'Description: Description'
,新字符串是'Description.'
有什么想法吗?谢谢!
答案 0 :(得分:32)
Python的str.replace有一个max replace参数。所以,在你的情况下,这样做:
>>>mystring = "Description: Mary had a little lamb Description: "
>>>print mystring.replace("Description: ","",1)
"Mary had a little lamb Description: "
使用正则表达式基本上完全相同。首先,得到你的正则表达式:
"Description: "
由于Python对正则表达式非常好,所以在这种情况下它只是你要删除的字符串。有了它,你想在re.sub中使用它,它也有一个计数变量:
>>>import re
>>>re.sub("Description: ","",mystring,count=1)
'Mary had a little lamb Description: '
答案 1 :(得分:1)
这个正则表达式适用于任何“单词”,而不仅仅是“描述:”
>>> import re
>>> s = 'Blah: words words more words'
>>> print re.sub(r'^\S*\s', '', s)
words words more words
>>>
答案 2 :(得分:0)
使用regex
只需在1
中将计数参数指定为re.sub
。虽然在这种情况下似乎不需要regex
。
>>> import re
>>> text = 'Description: Mary had a little lamb'
>>> re.sub('Description: ','',text,1)
'Mary had a little lamb'
答案 3 :(得分:0)
您可以在不使用正则表达式的情况下使用替换功能,方法是将Kaggle
arg设置为1:
count