2017-01-31 7 views
0

これについての回答を見つけようとしましたが、私が探しているものを正確に見つけることができませんでした。私は、テキストファイルの文字列の連結を見つけると、それらを単一の文字列に変換するPythonスクリプトを作成しようとしています。Pythonは文字列連結を見つけて実際の文字列に置き換えます

たとえば、ファイルが含まれます

"h" + "e" + "l" + "l" + "o" + world; 

私はスクリプトがにこれを有効にしたいのですがアン:私はいくつかを得ることができ、このようなものが実現可能である場合

"hello" + world; 

そのようなスクリプトを書く方法のポインタ?

+2

なぜこれを行う必要がありますか?ある種のコードを最適化しようとしているなら、言語はすでにあなたのためにやっている可能性があります。 (Pythonはします。) – kindall

+3

なぜ気になるのですか? CPythonピープホールオプティマイザはあなたのためにそれをやってくれます。あなたの質問がそうであれば – wim

+3

を検索してください。これはまったく可能ですか?__答えは粗いのですか? –

答えて

0

" + "が見つかった場合は削除することができます。外見上は、連結されている2つの文字列の間にのみ存在する必要があります。以下の正規表現は、二重引用符、0または1の空白文字、プラス記号、0または1の空白文字、およびその他の二重引用符を削除します。

import re 

with open('filename.txt', 'r') as fp: 
    cleaned_text = [re.sub(r'"\W?\+\W?"', '',line) for line in fp] 

# example 
> re.sub(r'"\W?\+\W?"', '','"h" + "e" + "l" + "l" + "o" + world;') 
# "hello" world; 
+1

コンテキストのない検索と置換は安全ではありません。 'a +" + "+ b' – ephemient

+0

これは上記の例に完全に当てはまります。これは私が必要としていたものです。とても有難い。 – unbekant

関連する問題