2010-02-01 4 views
1

в JavaScript, я использую Regex to split(/\W+/) для слов.javascript Regex unicode help

, когда я разделить это, что возвращается неверное значение

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


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

Как исправить эту проблему? пожалуйста, совет

ответ

1

Регулярное выражение не расщепление, поскольку он обрабатывает ваши акцентированные символы как символы без слов.

Используйте пробел специальный символ: -

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

спасибо, все сработало! – kakopappa

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);