如果我们想从这句话中删除词缀,我们从哪里开始呢?
affix_list = [
'me-an',
'me-kan,
'di-kan
]
string = 'meangan menangkan dimenangkan'
所以它将输出
output = [
'ang',
'nang'
'menang'
]
最佳答案
您可能要使用regular expressions进行这些替换。从您的affix_list
开始,这应该起作用:
output = affix_list.reduce(function(str, affix) {
var parts = affix.split("-");
var regex = new RegExp("\\b"+parts[0]+"(\\S+)"+parts[1]+"\\b", "g");
return str.replace(regex, "$1")
}, string).split(" ");
您的
regex
es将如下所示:/\bme(\S+)an\b/g
/\bme(\S+)kan\b/g
/\bdi(\S+)kan\b/g
但是请注意,您当然需要在
me-kan
之前替换me-an
,否则在应用"menangkan"
表达式之前,nangk
将变为me-kan
。关于javascript - 用数组中的javascript删除词缀,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11458700/