1

ファイル内のコンテンツを一致させるには、正規表現を使用する必要があると思います。

w=<DIGIT>たとえば、達成したいことのすべてのシーケンスを置き換えたい

s.replace('w=99923123','')
s.replace('w=23123','')
s.replace('w=123','')

では、私の式に一致する正規表現を提案していただけないでしょうか?

アップデート

私は明白なことを試しましたが、うまくいくようです

>>> import re
>>> s='m=2&w=3'
>>> s=re.sub('w=\d', '', s)
>>> s
'm=2&'
4

1 に答える 1

3
import re
pat = re.compile('w=[0-9]+')  # or you can use \d+
s = pat.sub('', s)

アップデート

次に、これがより複雑な場合、私の正規表現は tw=123 と tw=123a456 にも一致しますが、希望どおりに動作しないことに注意する必要があります。代わりに、正規表現をまったく使用しない方がよいかもしれません (問題があり、正規表現を使用すると、2 つの問題があると彼らは言います)。これを試すことができます:

import urlparse
import urllib

s = 'w=123&q=456&tw=123&w=123abc&foo=bar&w=12'

# s here must be key=value&key=value only
parsed = urlparse.parse_qsl(s, keep_blank_values=True)
filtered = [ i for i in parsed if not (i[0] == 'w' and i[1].isdigit()) ]
s = urllib.urlencode(filtered)

特に、値が数字のみで構成される w=value ペアのみを削除します。

于 2012-05-17T05:20:07.847 に答える