1

次の Python 関数piを使用して を置き換えようとしています。math.pi

def cleanup(x):
  return x.replace("pi", "math.pi")

次の文字列があります。

a = "2*pi"
b = "the pink elephant"

の出力cleanup(a)は次のとおりです。 2*math.pi-- これはうまくいきます。

出力は次のとおりcleanup(b)ですthe math.pink elephant-- 問題: 「テキスト」を変更したくありません。

誰かが私を助けることができますか?

4

2 に答える 2

3

\b正規表現、特に「単語境界」( ) アサーションを探しています。

import re
print re.sub(r'\bpi\b', 'math.pi', "2*pi")
print re.sub(r'\bpi\b', 'math.pi', "the pink elephant")
于 2012-08-15T10:07:59.727 に答える
0

より洗練されたフィルターが必要なようです。正規表現を調べる必要があります。Python に組み込まれているモジュールがあります。

http://docs.python.org/library/re.html

于 2012-08-15T10:04:26.803 に答える