24

私は正規表現に精通していません。正規表現を使用して解決策を提供する人が構文を説明して、将来の状況に適用できるとしたら、それは素晴らしいことです。

文字列 (つまり) があり、文字列が読み取られる'Description: Mary had a little lamb'ように削除したいのですが、文字列が の場合、新しい文字列は次のようになります。'Description: ''Mary had a little lamb,''Description: Description''Description.'

何か案は?ありがとう!

4

4 に答える 4

56

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: '
于 2012-05-18T07:35:52.737 に答える
1

この正規表現は、「説明:」だけでなく、任意の「単語」に対して機能します。

>>> import re
>>> s = 'Blah: words words more words'
>>> print re.sub(r'^\S*\s', '', s)
words words more words
>>> 
于 2012-05-18T08:21:10.890 に答える
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'
于 2012-05-18T07:34:54.927 に答える