我只想删除前 100 个单词并保留字符串中剩余的内容。
我下面的代码完全相反:
var short_description = description.split(' ').slice(0,100).join(' ');
我只想删除前 100 个单词并保留字符串中剩余的内容。
我下面的代码完全相反:
var short_description = description.split(' ').slice(0,100).join(' ');
删除第一个参数:
var short_description = description.split(' ').slice(100).join(' ');
Usingslice(x, y)
会给你元素 from x
to y
,但是 usingslice(x)
会给你元素 fromx
到数组的末尾。(注意:如果描述少于 100 个单词,这将返回空字符串。)
您还可以使用正则表达式:
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 个单词,此正则表达式将只返回未更改的描述。)
//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(" ")
}
var short_description = description.split(' ').slice(100).join(' ');
这样做相反的原因是 slice 返回所选元素(在本例中为前一百个)并将它们返回到它自己的数组中。要在 100 之后获取所有元素,您必须执行类似 description.slice(100) 的操作以正确获取拆分数组,然后您自己的连接以合并回数组。