JavaScript Jquery, как разделить любой символ, отличный от текста - PullRequest
2 голосов
/ 24 марта 2012

У меня есть этот скрипт: val.split( /(?:,.| )+/ )

и мне нужно разделить любой символ, отличный от буквы, например, новую строку, пробел, "табуляцию" или точку ... и т. Д.

Я знаю, что вы не можете написать все символы, поэтому приведите один хороший пример.

Ответы [ 5 ]

4 голосов
/ 24 марта 2012

Я бы предложил, возможно:

val.split(/\W/);

Ссылки:

3 голосов
/ 24 марта 2012

[\W_0-9] должен охватить их всех.

\W: все, что не является буквой, цифрой или подчеркиванием; затем добавляем _ и все цифры от 0-9. Это дает преимущество, заключающееся в том, что они охватывают не ASCII-буквы, такие как é ü и т. Д. *

1 голос
/ 24 марта 2012

Вы можете использовать [] для создания диапазона возможных символов и префикс [^ для инвертирования диапазона.Итак:

val.split(/[^a-z]+/i)
0 голосов
/ 24 марта 2012

Я знаю, что вы не можете написать все символы, поэтому приведите один хороший пример.

В классах символов вы можете перечислять символы с помощью -; вот так: [a-zA-Z]

и мне нужно разделить любой символ, отличный от буквы, например, новую строку, пробел, "табуляцию" или точку ... и т.д.

Вы можете отменить группу символов, например: [^a-zA-Z]

У меня есть этот скрипт: val.split( /(?:,.| )+/ )

Какой теперь может быть этот скрипт: val.split(/[^a-zA-Z]+/)

0 голосов
/ 24 марта 2012

Попробуйте это:

var myString = "Hello, I'm a string that will lose all my non-letter characters (including 1, 2, and 3, and all commas... everything)"
myString.replace(/[^a-z\s]/gi, '').split(" ");

Это разделит строку на массив, удаляя все не-буквенные символы по ходу.

...