如果包含比特定值长的单词,则截断字符串

Truncate a string if contains a word longer than a certain value

我想截断包含比特定值长的单词的字符串。例如,如果字符串是这个:

"test fassfsaf longstring 1112faffasfsaffasfssafssssafafsas"

如果单词的大小大于 8,我想截断字符串,那么结果必须是:

"test fassfsaf longstri"

有什么建议吗?

尝试 split() 使用 " " 的字符串。然后使用 slice(0,8) condition.And 使用映射重新创建数组,最后 join() 使用 [= 的字符串12=]

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

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

使用 split(" ") 拆分字符串将 return 您得到一个单词数组。你可以在这里使用 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(" "));