2010-02-01 80 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);