使用python将词缀拆分为前缀、根和后缀

2024-05-29 03:38:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为_split.txt文件的文本文件,上面有以下内容:

malam
ba-calle
pem-porut#an
daun #kulu
arau/araw
imbaw//nimbaw
dengo | nengo
dodop=am
{di} dalam
di {dalam}
+meri [b]

我使用以下脚本来拆分它们:

import sys
sys.stdout = open('final_result.txt', 'w')

import re
with open('a.txt') as f:
new_split = [item.strip() for item in f.readlines()]

for word in new_split:
m = re.match(r"(?:\{[^-#={}/|]+\})?(?:([^-#={}/|]+)-)?([^-#={}/|]+)(?:/[^-#={}/|]+)?(?:[#=]([^-#={}/|]+))?", word)
if m:
    print("\t".join([str(item).lstrip() for item in m.groups()]))
else:
    print("(no match: %s)" % word)

结果如下所示:

None    malam   None
ba  calle   None
pem porut   an
None    daun    kulu
None    arau    None
None    imbaw   None
None    dengo   None
None    dodop   am
None    dalam   None
None    di  None
None    +meri [b]   None

这对其他单词很有效,但对最后一个单词+meri[b]不起作用,它应该将meri作为词根,[b]作为后缀,而不是

None    +meri [b]   None

应该有

None +meri [b]

它应该忽略meri开头的+并将meri保留为root和[b]后缀,请问有什么建议吗?如果我改变我的脚本以获得结果,任何人都可以帮助我,谢谢


Tags: intxtnoneforitempemwordsplit

热门问题