2010-02-01 70 views
1

在JavaScript中,我正在使用正則表達式來split(/\W+/)來說話。javascript正則表達式unicode幫助

當我分裂這個,它返回錯誤值

var s3 = "bardzo dziękuję"; 
s3 = s3.split(/\W+/); 


[0]: "bardzo" 
[1]: "dzi" 
[2]: "kuj" 

如何解決這個問題?請諮詢

回答

1

正則表達式不分裂,因爲它是治療你的重音字符作爲非單詞字符。

使用空白特殊字符: -

s3 = s3.split(/\s+/); 
+0

謝謝,它的工作! – kakopappa 2010-02-02 04:21:14

1

在這種情況下,爲什麼不只是用空格分隔?

s3.split(/\s+/);

1

你可以使用CharFunk https://raw.github.com/joelarson4/CharFunk,這充分處理Unicode。

var s3 = "bardzo dziękuję"; 

function notLetterOrDigit(ch) { 
    return !CharFunk.isLetterOrDigit(ch); 
} 

CharFunk.splitOnMatches(s3, notLetterOrDigit);