如何用python拆分一首诗

2024-05-23 13:44:12 发布

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

我试着把一个包含斜杠的文本分割成音节。 例如

text = "Hi! I do/n'/t know how ma/ny sy/lla/bu/s a/re  the/re i/n thi/s te/x/te, who kno/w."
result = re.split('; |/| |. |, ', text)

问题是我没有得到正确的音节数,也没有任何空格前的最后一个字母!在

有人帮忙吗!在


Tags: text文本rehidohow音节know
2条回答

在正则表达式中,"."匹配任何字符,因此". "匹配"{any character}{space}"。在

要匹配文本句点,需要使用"\."或将其放入字符集([.])。在

试试看

syllables = re.compile("[.,:;!?]? |/").split
text = "Hi! I do/n'/t know how ma/ny sy/lla/bu/s a/re  the/re i/n thi/s te/x/te, who kno/w."

print(syllables(text))

这给了

^{pr2}$

如果我理解正确,您可以使用str.translate和普通拆分:

from string import maketrans
text = "Hi! I do/n'/t know how ma/ny sy/lla/bu/s a/re  the/re i/n thi/s te/x/te, who kno/w."
tr = maketrans("/,.'","    ")
print(text.translate(tr)).split()

['Hi!', 'I', 'do', 'n', 't', 'know', 'how', 'ma', 'ny', 'sy', 'lla', 'bu', 's', 'a', 're', 'the', 're', 'i', 'n', 'thi', 's', 'te', 'x', 'te', 'who', 'kno', 'w']

如果您想将'保持在do/n'/t中:

^{pr2}$

如果要保留句点,请将其从maketrans中删除

相关问题 更多 >