如果包含长于某个值的单词,则截断字符串

时间:2017-09-23 06:08:48

标签: javascript string truncate

如果包含一个长于某个值的单词,我想截断字符串。例如,如果字符串是这个:

  

“test fassfsaf longstring 1112faffasfsaffasfssafssssafafsas”

我希望截断字符串,如果单词的大小> 8然后结果必须是:

  

“test fassfsaf longstri”

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

使用split()尝试使用" "字符串。然后使用slice(0,8)条件重新创建包含地图的数组。最后,join()使用" " <的字符串/ p>

var a="test fassfsaf longstring 1112faffasfsaffasfssafssssafafsas";
var r = a.split(' ').map(i=> i.slice(0,8));

console.log(r.join(" "))

答案 1 :(得分:1)

使用split(" ")拆分字符串会返回一个单词数组。你可以在这里使用filter(),接受元素直到长度> 8的第一个单词。使字符串返回使用过滤器数组上的join(" ")

var str = "test fassfsaf longstring 1112faffasfsaffasfssafssssafafsas";

str = str.split(" ");
str = str.filter((x, index, arr) => !(x.length > 8 && arr[index-1].length > 8));
str[str.length - 1] = str[str.length - 1].substr(0,8);

console.log(str.join(" "));