這是一個textarea。用戶可以寫任何東西。在split中包含分隔符(javascript)
<textarea id="text">First sentence. Second sentence? Third sentence!
Fourth sentence.
Fifth sentence
</textarea>
最後,我必須將所有的文本拆分成一個數組。
var sentences = $('#text').val().split(/\r\n|\r|\n|[.|!|?]\s/gi);
我遇到的問題是分隔符字符不在數組項值中。這是句子將返回:
["First sentence", "Second sentence", "Third sentence", "Fourth sentence", "Fifth sentence"]
它應該是:
["First sentence.", "Second sentence?", "Third sentence!", "", "Fourth sentence.", "", "", "Fifth sentence"]
額外的考慮:
- 最後一句不需要分隔符(它可以結束任何字符)
- 如果一個句子有多個分隔字符,它也應該包含在它的數組中EM。例如:第二句??應該是[...,「第二句??」,...]
任何想法?任何方法是歡迎的(不是分割()必然) - 謝謝!
我真的很喜歡你的解決方案,因爲它會返回修剪後的值,但是在測試過程中我發現了兩個額外的考慮因素,我試圖自己實現解決方案沒有成功,你能給我一個手嗎?後面的描述已經更新上面的額外注意事項。謝謝! – andufo
@andufo我編輯了正則表達式和示例相應 – Esailija
謝謝,固定第二個考慮,第一個仍然不工作:最後一句不需要分隔符(它可以以任何字符結尾)/這很重要,因爲對於表單的性質,用戶通常不關心最後一句關閉。 – andufo