事前に習得する必要がある知識ポイント:
最初に、ファイルを開く
方法(openを使用)2番目に、ファイルのreadlines()メソッド(文字列のリストを返す)
3番目に、文字列を文字列のリストに分割する正規表現re.split()メソッド
4.文字列が別の文字列内にあるかどうかを判別するinキーワード
5. forループとifステートメントの柔軟な使用
import re
with open('./xiyouji.txt','r',encoding = 'utf-8') as f:
paragraphs = f.readlines()
'''p通过readlines函数获得了一个列表,西游记全文中的每一段话都是列表中的一个元素
注意这里段落的分割是根据回车键丫就是'\n'作为标志的
'''
```python
target = '大圣'
counter= 0
word_num = 0
for paragraph in paragraphs:
sentences = re.split('。|!|,|:|“|”|?| |;',paragraph)
#通过正则表达式,用多个分隔符号,分割paragraph中的字符串为字符串列表
for sentence in sentences:
sentence = sentence.strip()
if target in sentence:
counter += 1
print(sentence)
print(f'{target}一共出现了{counter}次')
実行結果:
西遊記でDa Shengという単語が1270回出現したことがわかります。
もちろん、jieba分詞を使用して一度にすべて取得することもできます。
import jieba
with open('./xiyouji.txt','r',encoding='utf-8') as f:
xyj_text = f.read()
word_list = list(jieba.cut(xyj_text))
target = '大圣'
count = 0
for word in word_list:
if target in word:
count += 1
print(f'{target}出现的次数是:{count}')
操作の結果は次のとおりです。