<p>这并不是你说的你需要的所有替代品。但是这里有一种方法可以计算数据中的数据,使用正则表达式和默认字典。如果你真的想要替换字符串,我相信你可以弄明白:</p>
<pre><code>lines = [
"ID674 25/01/1986 Thank you for :) choosing Optimus prime. Please wait for an Optimus prime Representative to respond. You are currently number 0 in the queue. You should be connected to an agent in approximately 0 minutes.. You are now chatting with 'Tom' 0",
"ID674 2gb Hi there! Welcome to Optus Web Chat 0/0/0 . $5.45 How can I help you today? 1",
"ID674 25-01-1986 I would like to change my bill plan from $0 with 0 expiry to something else $136. I find it very unuseful. Sam my phone no is 9838383821 2'"
]
import re
from collections import defaultdict
p_smiley = re.compile(r':\)|:-\)')
p_currency = re.compile(r'\$[\d.]+')
p_date = re.compile(r'(\d{1,4}[/-]\d{1,4}[/-]\d{1,4})')
count_dict = defaultdict(int)
def count_data(type, count):
global count_dict
count_dict[type] += count
for line in lines:
count_data('smiley', len(re.findall(p_smiley, line)))
count_data('date', len(re.findall(p_date, line)))
count_data('currency', len(re.findall(p_currency, line)))
</code></pre>