分割时将分隔符放入Array

时间:2019-04-23 20:25:15

标签: javascript arrays

如何分割字符串并将分隔符带入数组?例如,我有一个包含两个句子的字符串:

"I am learning Javascript. The most exiting programming language."

我想用split(".")分割后得到以下结果:

array[0] consists of "I am learning Javascript. 
array[1] consists of "The most exiting programming language."

我不想在句子结尾处丢失标点符号。我该如何实现?

更新: 这不是像这里一样的问题: Javascript and regex: split string and keep the separator

因为未显示br标签,因为它是html代码。在我的情况下,标点符号应该清晰可见。

3 个答案:

答案 0 :(得分:0)

代替拆分字符串,您可以匹配以点(regex101)结尾的非点序列:

const str = "I am learning Javascript. The most exiting programming language."

const result = str.match(/[^.]+\./g)

console.log(result)

答案 1 :(得分:0)

您可以改用match并查找任何字符,后跟一个空格。

var string = "I am learning Javascript. The most exiting programming language.";

console.log(string.match(/.*?\.\s*/g));

答案 2 :(得分:0)

使用以下代码实现您想要的目标。

 let sentence = "I am learning Javascript. The most exiting programming language."

const splitedArray = sentence.split(".");

let i=0;

for(i;i<splitedArray.length-1;i++){
 console.log(`array[${i}] consists of `+splitedArray[i]+`.`); 
}

这将适用于所有所有以点号(。)结尾的句子。 这是对您的问题的快速动态解决方案。 希望这会有所帮助。

https://codepen.io/anon/pen/Pgyovp?editors=1112