2017-09-29 4 views
-2

を文字列全体の文字を置き換えます。は(/あなたが...)私は例えばそのユニコードインスタンスに変数内のすべての文字を置換する関数を書きたいのユニコードで

Text = Text.ConvertToUniCode(); 

しかし、私の主な問題「経験mは例えば英語の言語に含まれていない文字を使用することです:

var IllegalChars = ["ə","Ə","ç","Ç","ı","I","ğ","Ğ","ö","Ö","ş","Ş","ü","Ü"]; 

質問を理解できなかった人たち:

var text= "əkalöğç"; 
text = ReplaceToUniCode(text); //It will return "\u0259\u018F\u00E7\u00C7\u0131..." 

PS:私はNode.jsを使用しません

答えて

-1

punycode.js(ブラウザとノードで動作します)を使用することをお勧めします。

// punycode works in browser and in Node 
var punycode = require('punycode'); 

function zeros(codepoint) { 
    if (codepoint === 0x0000) return '0000'; 
    if (0x0000 < codepoint && codepoint <= 0x000F) return '000' 
    if (0x000F < codepoint && codepoint <= 0x00FF) return '00' 
    if (0x0FF < codepoint && codepoint <= 0xFFF) return '0' 
    return ''; 
} 

var x = punycode.ucs2.decode('əkalöğç').map(function(codepoint) { 
    return '\\u' + zeros(codepoint) + codepoint.toString(16); 
}).join(''); 
console.log(x) 
// → "\u0259\u006b\u0061\u006c\u00f6\u011f\u00e7" 

これはすべて文字(英語、英語以外の、特殊文字、絵文字)のために働きます。
注:UCS2 problemsのため、すべての文字について - 「サロゲートペア」で表される、いわゆる「アストラルコードポイント」のための絵文字、より一般的には機能しません。 punycode.jsはすべての文字で動作し、信頼されています(元々はNode.jsのbundledでした)。

+0

OPがノードを使用しているという表示はありません。 – Cerbrus

+0

ありがとうございます。私はあなたの方法をチェックします:) –

+0

あなたは全体の実行可能なコードを書いてください... @ジェームズ・ローソン このメソッドはまさに私が欲しいものですね、私の日を救いました... –

関連する問題