2017-09-23 60 views
-2

如果包含長度超過特定值的單詞,則要截斷該字符串。例如,如果字符串是這一個:如果包含長於特定值的單詞,則截斷一個字符串

「測試fassfsaf longstring 1112faffasfsaffasfssafssssafafsas」

,我想截斷字符串,如果一個字有大小> 8然後其結果必然是:

「測試fassfsaf longstri」

什麼建議嗎?

+0

試圖利用長0-8的子字符串,它應該工作 –

回答

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(" "));

1

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

和'加入()'在結束.. – Nisarg

+1

@Ram a.slice(0,8)是不足夠,因爲它返回「測試FAS」,而不是我想要的字符串 對於prasad提出的解決方案,我在重建字符串 – NxA

+1

@Ram時丟失了空格。這還不夠。 op要求*'如果包含一個單詞* *每個單詞。不與整個字符串只。 – prasanth

相關問題