me ang an me nang kan di menang kanこの文から接辞を削除したい場合、どこから始めればよいでしょうか。
affix_list = [
'me-an',
'me-kan,
'di-kan
]
string = 'meangan menangkan dimenangkan'
したがって、出力されます
output = [
'ang',
'nang'
'menang'
]
me ang an me nang kan di menang kanこの文から接辞を削除したい場合、どこから始めればよいでしょうか。
affix_list = [
'me-an',
'me-kan,
'di-kan
]
string = 'meangan menangkan dimenangkan'
したがって、出力されます
output = [
'ang',
'nang'
'menang'
]
これらの置換には正規表現を使用することをお勧めします。あなたから始めて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(" ");
esregex
は次のようになります。
/\bme(\S+)an\b/g
/\bme(\S+)kan\b/g
/\bdi(\S+)kan\b/g
me-kan
ただし、もちろんbeforeを置換する必要があることに注意してくださいme-an
。それ以外の場合は、式が適用される前に"menangkan"
なります。nangk
me-kan
Javascript の正規表現から始めて、値を反復処理し、それに応じて中間値を取得する必要があります。私はあなたのためにそれを最初にやります、そしてあなたは残りを試すことができます:)
var re = /me(\w+)an/;
var str = "meangan";
var newstr = str.replace(re, "$1");
console.log(newstr);
// outputs ang
参考:https ://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions