2017-08-14 16 views
-7

Pythonで文字列の一部を置きたいと思っています。特に、私は構造体"Hello[hi, ... ,bye]"を取り除きたいと思います。ドットは任意の長さの文字を表します。Pythonで文字列の一部を置換する-

How to use string.replace() in python 3.xにはreplaceの使い方が説明されていますが、どのようにパターン "Hello [hi、...、bye]"を任意の文字列にマッチさせるかわかりません'...'

例1:result= "Hello.hi[., 123 my name is alice 456 ,bye]"

しかし、私は同じパターンはまた、例えば2のために仕事をしたい:

text= "Hello.hi[. Hello[hi, my name is alice ,bye] ,bye]" 

私が欲しい

text= "Hello.hi[., Hello[hi, have a good day ,bye] ,bye]" 

欲しいもの:result= "Hello.hi[., 123 have a good day 456 ,bye]"

お勧めはありますか?ありがとう。

+3

可能な複製(https://stackoverflow.com/questions/9452108 [Pythonの3.xではstring.replace()を使用する方法]/how-to-use-string-replace-in-python-3-x) – Mentos

答えて

0

replaceを使用してください。同じことがのために働くだろう

text= "Hello[hi, my name is alice ,bye] " 
text.replace('hi,', '123').replace(',bye', '456') 
>>> 'Hello[123 my name is alice 456] ' 

"こんにちは[やあ、良い一日持って、さようなら]"

+0

十分に置き換えられません。 'text.replace( 'Hello [hi、'、 '123')。replace( '、bye]、' 456 ')' – Matthias

+0

こんにちは、ありがとう!私はすでにそれを試みましたが、私は私が望むものを手に入れません。問題をより明確にするために投稿を編集しました。 – yago

+0

@yago:そうです。絶対に 'regex'(' import re')検索/置換を使用するべきです。 Pythonで使用するには、インターネット上のマニュアルを参照してください。 –

0

、すべての

index_l=[] 
x=0 
for i in text: 
    if i == ',':index_l.append(i) 
output = text[index_l[0]:index_l[1]] 
print output 
+0

これはコンマに含まれる文字列を取り除くだけです! –

+0

ありがとう@Ubdus Samadしかし、私はたくさんの昏睡を伴う大きなテキストを持っているので、これはうまくいきません。例はいくつかの文章です。私はパターンが "Hello [こんにちは、...、さようなら]"と一致するかどうか疑問に思っていました – yago

+0

その後、正規表現を学んでください! –

関連する問題