-1

おはよう、

私はPythonの初心者ですが、少し助けが必要です:

私はあなたに例をあげましょう:

私はファイルに入った:

blabla add_signed_123_548 blabla
blabla add_unsigned_77_10 blabla

そして私は欲しい:

blabla adder blabla
blabla adder blabla

私はそれらを見つけなければなりません、そして私はそれらを加算器で置き換えなければなりません。ランダムに付けた番号についての情報はありませんでした。しかし、私はあなたが文字列全体をどのように選ぶのか分かりませんか?

'add_'を見つけたいのですが、adder_signed_123_548を置き換えたいのですが、実行可能ですか?

はっきりしているといいのですが。ヘルプのためのThx:)

4

3 に答える 3

7

add_これにより、adder:で始まるすべての単語が置き換えられます。

>>> import re
>>> s = """foo bar add_signed_123_548 foo bar
... Baddest add_unsigned_77_10 additional"""
>>> print(re.sub(r"\badd_\w+", "adder", s))
foo bar adder foo bar
Baddest adder additional

\b単語境界アンカーは、単語の先頭でのみ一致することを確認しますadd_

于 2012-05-16T09:16:32.050 に答える
1

正規表現のない答え:

>>> value = "blabla add_signed_123_548 blabla"
>>> print ' '.join((word, 'adder')[word.startswith('add_')] for word in value.split())
blabla adder blabla
于 2012-05-16T09:37:44.483 に答える
0

入力文字列を取得して下線で分割すると'add_signed_123_548'.split('_')、すべてのコンポーネントピースのリストが表示['add', 'signed', '123', '548']され、そこから必要に応じて処理できます。

于 2012-05-16T09:17:32.090 に答える