有没有办法动态替换重音字符,如下所示?
requesón => requeson
我的意思是每个重音(或其他)字符都会被正常字符替换。
这可以使用ColdFusion吗?
答案 0 :(得分: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("");
}