如果包含长于特定值的单词,则截断一个字符串
问题描述:
如果包含长度超过特定值的单词,则要截断该字符串。例如,如果字符串是这一个:如果包含长于特定值的单词,则截断一个字符串
“测试fassfsaf longstring 1112faffasfsaffasfssafssssafafsas”
,我想截断字符串,如果一个字有大小> 8然后其结果必然是:
“测试fassfsaf longstri”
什么建议吗?
答
拆分使用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(" "));
答
与split()
尝试使用" "
。然后将串重新排列用slice(0,8)
condition.And最后,join()
字符串地图" "
var a="test fassfsaf longstring 1112faffasfsaffasfssafssssafafsas";
var r = a.split(' ').map(i=> i.slice(0,8));
console.log(r.join(" "))
试图利用长0-8的子字符串,它应该工作 –