使用ColdFusion替换所有带重音的元音

Jor*_*lca 3 regex coldfusion replace

有没有办法动态替换重音字符,如下所示?

requesón => requeson
Run Code Online (Sandbox Code Playgroud)

我的意思是每个重音(或其他)字符都会被正常字符替换.

这可能使用ColdFusion吗?

Nat*_*utz 6

您可以通过java文本规范化和正则表达式修复重音字符.cflib上有一个函数可以执行此操作:

来自:http://cflib.org/udf/deAccent

function deAccent(str){
    //based on the approach found here: http://stackoverflow.com/a/1215117/894061
    var Normalizer = createObject("java","java.text.Normalizer");
    var NormalizerForm = createObject("java","java.text.Normalizer$Form");
    var normalizedString = Normalizer.normalize(str, createObject("java","java.text.Normalizer$Form").NFD);
    var pattern = createObject("java","java.util.regex.Pattern").compile("\p{InCombiningDiacriticalMarks}+");
    return pattern.matcher(normalizedString).replaceAll("");
}
Run Code Online (Sandbox Code Playgroud)