簡體   English   中英

計算txt文件中“ NZ”和“ O”的出現次數。

[英]Count the number of occurrences of “NZ” and “O” inside the txt file.

我正在嘗試匹配並計算出txt文件中NZ和O的出現次數...

Import re 
pattern = re.compile(r'NZ')
with open ('scratch_1.txt','r') as f:
    contents = f.read()
    matches = pattern.finditer(contents)
for match in matches:
    print(match)

以上是我當前的代碼,它與所有“ NZ”匹配。 我要達到的目的是匹配所有'NZ'和'O'並計算出場次數。 請幫忙!

只需更改模式以查找NZ或O:

pattern = re.compile(r'NZ|O')

我認為這樣做更容易:

n1 = contents.count('NZ')
n2 = contents.count('O')
result = n1+n2

如果您真的想要正則表達式,我認為NZ|O模式應該可以工作。

請使用一個非捕獲組,並且在NZO之間使用交替符( | ,豎線字符)。 我將使用包裹在len re.findall ,因為re.findall返回出現的事件的list

>>> import re
>>> text = 'HellO world! NZO NZ O NZ NZNZNZN O'
>>> len(re.findall(r'(?:NZ|O)', text))
10

在這里進行了測試: https//regexr.com/44ms6

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM