Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从字符串中删除单词的第一个外观?_Python_Regex - Fatal编程技术网

Python 从字符串中删除单词的第一个外观?

Python 从字符串中删除单词的第一个外观?,python,regex,Python,Regex,我不熟悉正则表达式,如果有人能用正则表达式给出一个解决方案,并能解释他们的语法,这样我就可以把它应用到未来的情况中,那就太好了 我有一个字符串(即'Description:Mary had a little lamb'),我想删除'Description:',这样该字符串将读作'Mary had a little lamb',,但只读第一个实例,这样如果该字符串是'Description:Description',新字符串将是'Description. 有什么想法吗?谢谢 使用regex只需在r

我不熟悉正则表达式,如果有人能用正则表达式给出一个解决方案,并能解释他们的语法,这样我就可以把它应用到未来的情况中,那就太好了

我有一个字符串(即
'Description:Mary had a little lamb'
),我想删除
'Description:'
,这样该字符串将读作
'Mary had a little lamb',
,但只读第一个实例,这样如果该字符串是
'Description:Description'
,新字符串将是
'Description.


有什么想法吗?谢谢

使用
regex
只需在
re.sub
中将计数参数指定为
1
。尽管在这种情况下似乎不需要
regex

>>> import re
>>> text = 'Description: Mary had a little lamb'
>>> re.sub('Description: ','',text,1)
'Mary had a little lamb'
Python有一个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中使用它,它也有一个count变量:

>>>import re
>>>re.sub("Description: ","",mystring,count=1)
'Mary had a little lamb Description: '

此正则表达式适用于任何“单词”,而不仅仅是“描述”:


您可以在不使用regex的情况下通过使用replace函数将
count
arg设置为1:

>>> string = 'Description: Mary had a little lamb Description'
>>> string.replace('Description', '', 1)
'Mary had a little lamb Description'

您知道第一个实例总是在字符串的开头吗?您不需要指定第三个参数,因为它默认为1@omu_negru不,没有。它默认为所有事件。@omu_negru它不是默认为1,而是默认为。。。我想没什么。如果没有第三个参数,它将替换所有实例,而不仅仅是第一个实例。啊,几分钟前刚刚了解了.replace(),谢谢!知道如何使用它仍然会很有帮助regex@zhuyxn更新为有一个正则表达式解决方案。如果您只想删除字符串中的第一个单词,您是否可以使用“.join(s.split(“”[1:])?@Josiah,最好是
s.partition(“”[2]
。我能问一下count参数在做什么吗?@song0089仅1个替换
>>> string = 'Description: Mary had a little lamb Description'
>>> string.replace('Description', '', 1)
'Mary had a little lamb Description'