如何定义aspell单词分隔符?

8
Aspell将下划线或破折号视为两个单词,例如"cloud-based"会被拆分成"cloud"和"based"进行拼写检查。是否有办法指定单词分隔符以排除破折号和下划线?

你不是在找这个吗? - Qnan
@Mikhail 像这样的东西。但是那篇文章没有解释如何自定义哪些字符是单词边界,哪些不是。例如,我希望 aspell 将 cloud-based 视为一个单词,如果我拼错了 is,比如写成 "cluod-based",我希望 aspell 返回整个单词,而不仅仅是 "cluod"。明白我的意思吗? - mart1n
我猜你不想把所有的破折号都视为“字母”,对吧? - Qnan
@MikhailKozhevnikov 如果您认为破折号是字母,那么“and-”这个单词是否拼写错误? - mart1n
除非它在字典中,否则是的。 - Qnan
2个回答

2
如果我理解正确,Aspell不能完全满足你的需要(据我所知)。这与条件复合词处理有关,这在 Aspells TODO list上提到过。
在同一列表中提到,Hunspell能更好地处理复合词,因此如果你不受Aspell的限制,它可能是一个可行的替代方案。 OpenOffice使用Hunspell进行拼写检查,因此可以轻松找出它是否符合您的要求。至少对于“基于云”的示例有效,并且不将所有连字词视为无条件的复合词,即“基于-云”不会被视为拼写错误。

谢谢你的回答。也许我会看一下hunspell。 - mart1n
请注意,hunspell 仅在每个基础元素本身是单词时处理连字符。 因此,“基于云的”可以处理,但“Add-Ons”则不行。 - Scott C Wilson

0

目前Aspell无法执行您所要求的操作。其处理带有符号单词时使用的接口还不够复杂,因此无法处理此类情况。更多相关信息可以在这里找到。

很抱歉目前无法解决此问题,除非您想实现自己的接口。正如Mikhail所建议的那样,我建议您使用Hunspell。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接