0
任何人都可以請幫助我在操作腳本(as3)中將特殊重音字符轉換爲它們各自的非重音字符嗎?請讓我知道是否有任何預定義的方法,如toLowerCase
也這樣做。如果不存在這樣的方法,讓我知道轉換的邏輯。提前致謝。將重音字符(例如字符Ç,ü,é,â)轉換爲as3中的相應非重音字符
任何人都可以請幫助我在操作腳本(as3)中將特殊重音字符轉換爲它們各自的非重音字符嗎?請讓我知道是否有任何預定義的方法,如toLowerCase
也這樣做。如果不存在這樣的方法,讓我知道轉換的邏輯。提前致謝。將重音字符(例如字符Ç,ü,é,â)轉換爲as3中的相應非重音字符
這是一個非常快速和骯髒的解決方案,但它應該工作。在構建字符映射時也有一些煩人的工作,您可能希望找到一種方法來爲此目的提供JSON或XML文件,而不是將其硬編碼。
var map:Dictionary = new Dictionary();
map["â"] = "a";
map["ã"] = "a";
map["ë"] = "e";
//... complete the map using this site: https://docs.oracle.com/cd/E29584_01/webhelp/mdex_basicDev/src/rbdv_chars_mapping.html
function removeDiacritics($s:String):String
{
for(var $key:String in map)
{
$s = $s.split($key).join(map[$key]);
}
return $s;
}
var s:String = "this is ã tëst";
trace(s); // "this is ã tëst";
trace(removeDiacritics(s)); // this is a test
感謝您的回覆馬塞拉,但我不認爲映射將是一個好主意,因爲這將不適用於其他語言(西班牙語,阿拉伯語等)的重音字符。 – sushil