この記事でわかること
以下の文章を
すごい!さすがですね。他には何か特技はありますか?
以下のように末尾の句読点。
やはてなマーク?
を残したまま分割したいときの解決法を紹介します.
[
"すごい!",
"さすがですね。",
"他には何か特技はありますか?"
]
splitメソッドだと以下のようになってしまいます.
.py
sentence = "すごい!さすがですね。他には何か特技はありますか?"
print(sentence.split('。?!')
# 出力
>> [
"すごい",
"さすがですね",
"他には何か特技はありますか"
]
方法
末尾の句読点やはてなマークごと抽出したい場合はsplitではなく標準ライブラリre
にあるfindall
メソッドを使いましょう.
以下のように末尾の句読点やはてなマークごと抽出することが出来ます.
.py
sentence = "すごい!さすがですね。他には何か特技はありますか?"
print(re.findall("[^。!?!?、]+[。!?!?、]?", sentence))
# 出力
>> [
"すごい!",
"さすがですね。",
"他には何か特技はありますか?"
]