如何从字符串中删除前100个单词?

时间:2013-05-13 12:19:03

标签: javascript

我只想删除前100个单词并保留字符串中的剩余部分。

我在下面的代码完全相反:

   var short_description = description.split(' ').slice(0,100).join(' ');

4 个答案:

答案 0 :(得分:16)

删除第一个参数:

var short_description = description.split(' ').slice(100).join(' ');

使用slice(x, y)会为您提供从xy的元素,但使用slice(x)会为您提供从x到数组末尾的元素。 (注意:如果描述少于100个单词,这将返回空字符串。)

Here is some documentation

你也可以使用正则表达式:

var short_description = description.replace(/^([^ ]+ ){100}/, '');

以下是正则表达式的解释:

^      beginning of string
(      start a group
[^ ]   any character that is not a space
+      one or more times
       then a space
)      end the group. now the group contains a word and a space.
{100}  100 times

然后用零替换那100个单词。 (注意:如果描述少于100个单词,则此正则表达式将仅返回描述不变。)

答案 1 :(得分:1)

//hii i am getting result using this function   


 var inputString = "This is           file placed  on           Desktop"
    inputString = removeNWords(inputString, 2)
    console.log(inputString);
    function removeNWords(input,n) {
      var newString = input.replace(/\s+/g,' ').trim();
      var x = newString.split(" ")
      return x.slice(n,x.length).join(" ")
    }

答案 2 :(得分:0)

var short_description = description.split(' ').slice(100).join(' ');

答案 3 :(得分:0)

相反的原因是,slice返回所选元素(在本例中为前100个),并将它们返回到自己的数组中。要获得100之后的所有元素,您必须执行类似描述(100)的操作以正确获取拆分数组,然后使用您自己的连接来合并数组。