如果包含比特定值长的单词,则截断字符串
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(" "));
我想截断包含比特定值长的单词的字符串。例如,如果字符串是这个:
"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(" "));