文字列の先頭と末尾にある句読点(ドットを除く)をすべて削除しますが、途中には挿入しません。正規表現で区切り記号を付ける - python
元の文字列のために例えば:
@#%%.Hol$a.A.$%
私は端から除去されなく単語の途中から始まる単語.Hol$a.A.
を取得したいと思います。
別の例は、文字列を次のようになります。使用できる文字が繰り返された場合、我々は気にしないので、この場合は
@#%%...&Hol$a.A....$%
返される文字列は..&Hol$a.A....
でなければなりません。
アイデアは、単語の先頭と末尾にある句読点(ドットを除く)をすべて削除することです。単語は、\w
および/または.
のように定義されます。具体的な例は、文字列'Barnes&Nobles'
です。テキスト解析では、Barnes&Nobles
を単一のエンティティとして認識することが重要ですが、'
Regexを使用して目標を達成するにはどうすればよいですか?これは、式の中のドットの前と後のすべてのものを削除します
import re
res = re.search(r"^[^.]*(.[^.]*.([^.]*.)*?)[^.]*$", "@#%%.Hol$a.A.$%")
mystr = res.group(1)
:
[文字列からすべての特殊文字、句読点やスペースを削除](http://stackoverflow.com/questions/5843518/remove-all-special-characters-punctuation-andの可能性のある重複-space-from-string) –
@LaxmikantGurnalkar:重複していません。 – AKS
@ user2288043:例をさらに投稿できますか?他のケースをカバーするのに役立つものは1つだけです。 – AKS