我想用双变音来获得给定字符串的语音编码。例如:
import org.apache.commons.codec.language.DoubleMetaphone;
String s1 = "computer";
(new DoubleMetaphone()).doubleMetaphone(s1);
结果:计算机->kmpt
当我尝试对较长的字符串进行编码时,问题就出现了。
import org.apache.commons.codec.language.DoubleMetaphone;
String s1 = "dustinhoffmanisanactor";
(new DoubleMetaphone()).doubleMetaphone(s1);
结果:dustinhoffmanisanactor->tstn
很明显,这是采取了前4个编码字符和停止。在这种情况下,dustin->tstn。
我使用了双变音的python实现,它按预期工作。
>>>from metaphone import doublemetaphone
>>>doublemetaphone("dustinhoffmanisanactor")[0]
"TSTNFMNSNKTR"
1条答案
按热度按时间vsmadaxz1#
似乎我需要设置最大代码长度。
它给出了预期的
TSTNFMNSNKTR
.