ある連続して出てくる部分文字列をひとつにしたい
例えば、以下のような文字列があったとき。
「お願いがあるんだけど……友人代表のスピーチ、やってくれないかな?」<EOS><EOS>
これをにしたい
「お願いがあるんだけど……友人代表のスピーチ、やってくれないかな?」<EOS>
繰り返しでてくる<EOS>をひとつにするには
re.sub("(?<=部分文字列)部分文字列", "", 文字列)
import re
sample = "「お願いがあるんだけど……友人代表のスピーチ、やってくれないかな?」<EOS><EOS>"
result = re.sub("(?<=<EOS>)<EOS>", "", sample)
print(result)
# 結果
# 「お願いがあるんだけど……友人代表のスピーチ、やってくれないかな?」<EOS>
他の例
sample = "「お願いがあるんだけど……友人代表のスピーチ、やってくれないかな?」<EOS><EOS><EOS>"
result = re.sub("(?<=<EOS>)<EOS>", "", sample)
print(result)
# 結果
# 「お願いがあるんだけど……友人代表のスピーチ、やってくれないかな?」<EOS>
sample = "「お願いがあるんだけど……友人代表のスピーチ、<EOS><EOS>やってくれないかな?」<EOS><EOS><EOS>"
result = re.sub("(?<=<EOS>)<EOS>", "", sample)
print(result)
# 結果
# 「お願いがあるんだけど……友人代表のスピーチ、<EOS>やってくれないかな?」<EOS>
コメントより
sample = "「お願いがあるんだけど……友人代表のスピーチ<EOS><EOS>、やってくれないかな?」<EOS><EOS>"
result = re.sub("(<EOS>)+", "<EOS>", sample)
print(result)
# 結果
# 「お願いがあるんだけど……友人代表のスピーチ<EOS>、やってくれないかな?」<EOS>