我只想删除前100个单词并保留字符串中的剩余部分。
我在下面的代码完全相反:
var short_description = description.split(' ').slice(0,100).join(' ');
答案 0 :(得分:16)
删除第一个参数:
var short_description = description.split(' ').slice(100).join(' ');
使用slice(x, y)
会为您提供从x
到y
的元素,但使用slice(x)
会为您提供从x
到数组末尾的元素。 (注意:如果描述少于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个单词,则此正则表达式将仅返回描述不变。)
答案 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)的操作以正确获取拆分数组,然后使用您自己的连接来合并数组。