如果包含一个长于某个值的单词,我想截断字符串。例如,如果字符串是这个:
“test fassfsaf longstring 1112faffasfsaffasfssafssssafafsas”
我希望截断字符串,如果单词的大小> 8然后结果必须是:
“test fassfsaf longstri”
有什么建议吗?
答案 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(" "));