は、正規表現の使用:上記
import re
pattern = re.compile(r"'[^']+'") # 1 or more characters between single quotes
result = pattern.sub('XXXXX', inputtext)
のみ(自分自身は何もなく、単一引用符です)の間で1つ以上の文字を持つ2つの単一引用符を受け入れます。
は、このようなパターンを使用する方法の良い導入のためのPythonのドキュメントに含まRegular Expression HOWTOを参照してください。
デモ:
>>> import re
>>> pattern = re.compile(r"'[^']+'")
>>> pattern.sub('XXXXX', "The value '0000' is not valid.")
'The value XXXXX is not valid.'
>>> pattern.sub('XXXXX', "The value 'GA1234' for <category> must be changed.")
'The value XXXXX for <category> must be changed.'
>>> pattern.sub('XXXXX', "The value '.30' is not a valid entry.")
'The value XXXXX is not a valid entry.'
>>> pattern.sub('XXXXX', "The value 'Invitation for Party' is not valid.")
'The value XXXXX is not valid.'
>>> pattern.sub('XXXXX', "On line '0010', the value 'CARD' is invalid.")
'On line XXXXX, the value XXXXX is invalid.'
あなたはパンダシリーズを持っている場合は、Series.replace()
を使用します。 RegEx'esを受け入れ
>>> import pandas as df
>>> df = pd.DataFrame({
... 'Message': pd.Series([
... "The value '0000' is not valid.",
... "The value 'GA1234' for <category> must be changed.",
... "The value '.30' is not a valid entry.",
... "The value 'Invitation for Party' is not valid.",
... "On line '0010', the value 'CARD' is invalid.",
... ])
... })
>>> df.Message.replace(r"'[^']+'", 'XXXXX', regex=True)
0 The value XXXXX is not valid.
1 The value XXXXX for <category> must be changed.
2 The value XXXXX is not a valid entry.
3 The value XXXXX is not valid.
4 On line XXXXX, the value XXXXX is invalid.
Name: Message, dtype: object
デモ:あなたは
regex=True
を設定した場合、それは、本質的にシリーズ内のすべての値についてre.sub()
呼び出しとして機能する、あまりにも正規表現を取りますこれが[正規表現](https://docs.python.org/3/howto/regex.html)の目的です。 –特にエスケープ文字の可能性がある場合は、はい、正規表現。たとえば、 '' That \ 's a test'のような値を扱う方法 –
正規表現を使用したことはありません。 "import re"で始まったが、まだ理解していない例をいくつか見た。 –