我试图使用javascript的拆分来从字符串中提取句子,但保留分隔符,例如!?。
到目前为止,我已经
sentences = text.split(/[\\.!?]/);
它可以工作,但不包括每句话的结尾标点(。!?).
有人知道怎么做吗?
试试这个:-
sentences = text.split(/[\\.!\?]/);
<代码>是正则表达式中的一个特殊字符,因此需要转义。
抱歉,我没看到你的问题-如果你想保留分隔符,那么你需要使用< code >匹配而不是< code >分割看到这个问题
以下是对拉里的回答的一个小补充,它也将与偏执的句子相匹配:
text.match(/\(?[^\.\?\!]+[\.!\?]\)?/g);
应用于:
text = "If he's restin', I'll wake him up! (Shouts at the cage.)
'Ello, Mister Polly Parrot! (Owner hits the cage.) There, he moved!!!"
赐:
["If he's restin', I'll wake him up!", " (Shouts at the cage.)",
" 'Ello, Mister Polly Parrot!", " (Owner hits the cage.)", " There, he moved!!!"]
您需要使用匹配而不是拆分。
试试这个。
var str = "I like turtles. Do you? Awesome! hahaha. lol!!! What's going on????";
var result = str.match( /[^\.!\?]+[\.!\?]+/g );
var expect = ["I like turtles.", " Do you?", " Awesome!", " hahaha.", " lol!!!", " What's going on????"];
console.log( result.join(" ") === expect.join(" ") )
console.log( result.length === 6);
我想把一个有空格或任何特殊字符的句子分成一个单词数组,空格或特殊字符也是数组的一个元素。 句子像: 应拆分为字符串数组: 请建议使用任何正则表达式或逻辑来使用java进行拆分。 我的问题漏了一件事。我还需要拆分数字字符。。但是使用split(“\b”)并不能拆分具有以下内容的字符串: abc12def 成
我希望能够根据子字符串分隔符拆分字符串,在分隔符子字符串的第一个字符之前开始拆分。现在: 将给我,但我希望得到
使用JavaScript,我试图使用正则表达式将段落拆分为句子。我的正则表达式不考虑括号内的句子,我希望保留分隔符。 我在这里放了一个代码示例 jsFiddle.net
我想用句子截断文本。 示例文本:'Lorem ipsum dolor坐在amet,奉献adipiscing elit!UT车辆laoreet urna, commodo,在马萨诸塞州。赛德volutpat nunc简历urna拍卖,在tempus enim rhoncus。马蒂斯康莫多的莫尔比交流电击器?Morbi在ornare Arcu,sagittis scelerisque risus。Ae
我有一个字符串: 我想用分隔符< code >分割这个字符串 为此,我使用以下方法: 我得到了我需要的东西,除了我失去了分隔符。下面是示例:http://jsfiddle.net/JwrZ6/1/ 如何保留分隔符?
我想到了一个变通办法,用'),‘替换'),然后用','拆分,这将解决我的问题..但我想用一种干净的方式.. 如有任何帮助,不胜感激。