とある小説の文数を取得したいのですが、台詞の文数を正しく取得できずに困っております。
自身で下記のようなプログラムを書いてみたのですが、
「こんにちは。よろしくお願いします」
という台詞の場合、
「こんにちは。
よろしくお願いします」
と分けて出力されることに気づきました…
鍵括弧内の文にはreplace処理をしない、というような分岐はどのように書くことができますでしょうか?
もしくは別の書き方がありましたら是非教えていただけますと幸いです。
python
1#----- 別のファイルから文字を読み込む ----- 2 3#同ディレクトリのtxtファイルから文字列を取得する 4path = 'Novel.txt' 5file = open(path,'r',encoding='utf-8') 6original = file.read() 7 8#----- 文の数をかぞえる ----- 9 10#すべての『。』『」』『?』(全角)のうしろに「\n」(改行)を挿入する 11sentence = original.replace("。","。\n").replace("「","\n「").replace("?","?\n") 12#改行で区切りリスト化する 13list = sentence.split() 14x = 0 15for i in range(len(list)): 16 x = x + (len(list[i])) 17#合計数を全体数で割り、平均値を求める 18result = x / len(list) 19 20print('文数:' + str(len(list)))
彼は、「こんにちは。よろしくお願いします」と言いながら、こちらにやってきた。
は1文でいいですか?
また、
彼は言った、「こんにちは。よろしくお願いします。」そして、こちらにやってきた。
は3文ですか2文ですか?
確かに小説によっては鍵括弧と句点の組み合わせも存在しますね…盲点でした。
ご指摘いただきありがとうございます。
>彼は、「こんにちは。よろしくお願いします」と言いながら、こちらにやってきた。の場合、
彼は、
「こんにちは。よろしくお願いします」
と言いながら、こちらにやってきた。
のように3文に分けたいです。
>彼は言った、「こんにちは。よろしくお願いします。」そして、こちらにやってきた。の場合、
彼は言った、
「こんにちは。よろしくお願いします。」
そして、こちらにやってきた。
のように3文に分けたいです。
※誤りがありましたので29日の15時ごろ一部訂正しました。
回答3件
あなたの回答
tips
プレビュー