我有一个分成多行的文本,没有特定的格式。所以我决定line.strip('\n')
为每一行。然后我想使用句子结束标记将文本分成句子,.
考虑:
.
后跟\s
(空格)、\S
(like"
'
)和后跟[A-Z]
将拆分的句点- 不要分裂
[0-9]\.[A-Za-z]
,喜欢1.stackoverflow real time solution
。
我的程序只解决了 1 - 句点 (.) 的一半,后跟 \s 和 [AZ]。下面是代码:
# -*- coding: utf-8 -*-
import re, sys
source = open(sys.argv[1], 'rb')
dest = open(sys.argv[2], 'wb')
sent = []
for line in source:
line1 = line.strip('\n')
k = re.sub(r'\.\s+([A-Z“])'.decode('utf8'), '.\n\g<1>', line1)
sent.append(k)
for line in sent:
dest.write(''.join(line))
请!我想知道哪个是掌握正则表达式的最佳方法。这似乎令人困惑。