2013-05-18 1 views
0

У меня есть textArea. Я пытаюсь разделить каждую строку из абзаца, который имеет правильные разделители пунктуации, основанные на грамматике, такие как.!? или больше, если таковые имеются.Разделить каждую строку из любого данного абзаца в javascript

Я пытаюсь достичь этого, используя Javascript. Я пытаюсь получить все такие строки, используя регулярное выражение, как в этом answer

Но здесь, в javascript для меня это не работает. Вот мой фрагмент кода для большей ясности

$('#split').click(function(){ 
    var textAreaContent = $('#textArea').val(); 
    //split the string i.e.., textArea content 
    var splittedArray = textAreaContent.split("\\W+"); 
    alert("Splitted Array is "+splittedArray); 
    var lengthOfsplittedArray = splittedArray.length; 
    alert('lengthOfText '+lengthOfsplittedArray); 
    }); 

Поскольку его не удалось расколоть, его всегда показывает длину, как 1. Что может быть склонный регулярное выражение здесь.

+0

попробовать это http://stackoverflow.com/questions/650022/how-do-i-split-a-string-with-multiple-separators-in-javascript –

ответ

2

Регулярное выражение не должно различаться между Java и JavaScript, но метод .split() в Java принимает строку регулярного выражения. Если вы хотите использовать регулярное выражение в JavaScript, вам нужно создать ... как так:

.split(/\W+/) 

DEMO:http://jsfiddle.net/s3B5J/

Обратите внимание на / и / создать регулярное выражение буквального. Версия Java нуждалась в двух «\», потому что она была заключена в строку.

Ссылка:

+0

он игнорирует все специальные символы, для Например, если вы пишете '[asd]', то его вывод 'asd' – rcpayan

+0

Хорошо работает. В вашей DEMO я дал вход как Hello, stackoverflow! Он показал длину как 3. Разве это не должно быть 2? – srk

+0

Как я уже сказал, он игнорирует специальные символы, что означает их подсчет – rcpayan

0

Вы можете попробовать это

textAreaContent.split(/\W+/); 
+0

Ew, ненужная переменная ... –

+0

@ Kolink действительно .. поделился ans..thanks – Anirudha

0
\W+ : Matches any character that is not a word character (alphanumeric & underscore). 

так считает, кроме букв и цифр и подчеркивания! если вам не нужно разделить " " (space), то вы можете использовать;

var splittedArray = textAreaContent.split("/\n+/"); 
Смежные вопросы