实现对任一长度的文本段进行拆分,保证每段文本长度<=n,返回格式为列表。
alltext:需要切分的文本段。
n:句子最大长度。
import re
def splitkeywords(text,n=50):
res = []
b = 0
ssum = ''
t = ''
sentence = re.split(“[,。]”,text)
for s in range(len(sentence)):
i = sentence[s]
if len(i) >= n:
if s == 0:
res.append(i)
else:
res.append(ssum)
res.append(i)
b = 0
ssum = ''
t = ''
else:
b += len(i)
t += '、'+i
if b > n:
res.append(ssum)
b = len(i)
ssum = i
t = ssum
elif b == n:
res.append(t)
b = 0
ssum = ''
t = ''
else:
ssum = t
if s == len(sentence) - 1 and t != '':
res.append(t)
return res