2017-02-25 106 views
1

我的例子:如何將unicode字符串拆分爲多個字符?

let $log = console.log; 
 

 
for (let i of 'Nguyễn Thanh Tú') $log(i);

輸出:

 
N 
g 
u 
y 
ê 
̃ 
n 
T 
h 
a 
n 
h 
T 
u 
́ 

我想(我的目標)的字符串分割到:

 
N 
g 
u 
y 
ễ 
n 

T 
h 
a 
n 
h 

T 
ú 

但我可代碼中存在2個問題。

  1. 它分裂[ễ][ê, ~]。我想要[ễ]

  2. 它將[ T]分割爲[ T]。我想要[ ,T]

我也試過:

let arr = 'Nguyễn Thanh Tú'.split(''); 
 

 
arr.forEach(x => $log(x));

它記錄了相同的結果,第一種情況。

我該如何解決這些問題?

回答

1

在最新的瀏覽器,你可以使用String#normalize

for (let c of 'Nguyễn Thanh Tú'.normalize()) console.log(c)

+0

我覺得它工作的唯一原因是因爲我跑在我的瀏覽器,它做到了。你的結果不同嗎?這很有趣。 – gyre

+0

我沒有仔細觀察,它*不需要進行標準化。 –

+2

但請注意,您不需要將其分散到數組中。只是正常化就足夠了。 OP的'let ... of'按照他們想要的方式在標準化的字符串上工作。 –

相關問題