Javascript:根据两个条件分割字符串?

时间:2018-07-16 07:50:07

标签: javascript arrays

我正在尝试计算段落中的句子数。在段落中,所有句子都以“。''或“!”结尾。

我的想法是,每当出现“。''或“!”时,首先将其拆分为字符串,然后计算拆分后的字符串数。

我尝试过

.split('.' || '!')

但这不起作用。仅在出现''时才拆分字符串。''

我可以知道如何处理吗?

5 个答案:

答案 0 :(得分:2)

只需使用Regexp,这非常简单;)

const example = 'Hello! You should probably use a regexp. Nice isn\'t it?';
console.log(example.split(/[.!]/));

答案 1 :(得分:0)

为此,您将需要使用正则表达式。 以下应该起作用:

.split(/\.|!/)

答案 2 :(得分:0)

您可以将/\.|!/中的正则表达式split()用作str.split(/\.|!/)

var str = 'some.string';
console.log(str.split(/\.|!/));

str = 'some.string!name';
console.log(str.split(/\.|!/));

答案 3 :(得分:0)

const sampleString = 'I am handsome. Are you sure?! Just kidding. Thank you.';
const result = sampleString.split(/\.|!/)
console.log(result);

// to remove elements that has no value you can do
const noEmptyElements = result.filter(str => str);
console.log(noEmptyElements);

答案 4 :(得分:0)

尝试下面的代码,它将为您提供段落中句子的准确计数。

function count(string,char) {
 var re = new RegExp(char,"gi");
 return string.match(re).length;
}


function myFunction() {

 var str = 'but that! does! not work. It only splits strings whenever there is a. ';
console.log(count(str,'[.?!]'));
}