こんにちは私はそのタイトルがすべてそうだと思います。例えば最後の文を除くセンテンスから感嘆符を削除するには
私のような文字列がある場合:"The food! is great!!!"
を私はPythonがそれを変更したい:"The food is great!"
は、事前にすべてのいただきありがとうございます。 :)
こんにちは私はそのタイトルがすべてそうだと思います。例えば最後の文を除くセンテンスから感嘆符を削除するには
私のような文字列がある場合:"The food! is great!!!"
を私はPythonがそれを変更したい:"The food is great!"
は、事前にすべてのいただきありがとうございます。 :)
あなたが先読みで正規表現を使用することができます。
import re
re.sub(r'!+(?=.*\!)','',text)
正規表現
!+(?=.*\!)
は先読み(?=.*\!)
は、感嘆符を見て与えられた感嘆符のいずれかの配列をマッチさせます。これらの感嘆符はすべて、空の文字列によって置換されたsub
です。
$ python2
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> text="The food! is great!!!"
>>> re.sub(r'!+(?=.*\!)','',text)
'The food is great!'
これは、OPやそのようなものを検索する人のためにあまりにも進んだと思う –
はい、しかしそれは有効な解決策です – depperm
@ Ev.Kounis:よく個人的に私はregexesは非常にエレガントなツールだと思う*カーテンの後ろでどのように動作するか心配する必要はありません。さらにそれは私の意見ではdvの理由ではない:それは機能的に正確であり、答えは起こっていることを説明する。 –
すべてを '!'に置き換えます。 ''の文字列で文字列=文字列+ '!'
string.replace('!','')
string = string + '!'
文字列が!で終わる場合にのみ機能します。 –
@JacquesdeHoogeどういう意味ですか?これは実際にはスマートな解決策です –
もし彼の文字列が!で終わっていなければ、!そこにはいけないことが追加されています。それはどのように賢いですか?また、唯一の!中間にいるかもしれません... –
strs="The food! is great!!!"
count=strs.count("!")-1
strs = strs.replace('!','',count)
print strs
https://stackoverflow.com/a/16268024/6626530
出力
The food is great!
は、自分はまだ何もしようとしたことがありますか?どこで立ち往生しましたか? –
あなたの文字列はいつも終わりますか?そこには常に4つありますか? – depperm
@deppermいいえ、必ずしも終わるとは限りません!そして数!ランダムです。 – ThodorisN