2017-09-23 5 views
-2

特定の値よりも長い単語が含まれている場合は、文字列を切り捨てたいと思います。特定の値より長い単語が含まれている場合、文字列を切り捨てます。

「テストfassfsafのLongString 1112faffasfsaffasfssafssssafafsas」と私は> 8は、結果がでなければならない単語がサイズを持っている場合は、文字列を切り詰めたい:例えば、文字列は、このいずれかの場合

"テストfassfsafのlongstri"

任意の提案?

+0

長さ0-8の部分文字列を取るしようと、それは( –

答えて

1

と最後にslice(0,8) condition.And、join()文字列を使用してマップを持つ配列を作成し直しますあなたに言葉の配列。ここで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()で試してみてください" " .Thenを使用して文字列が返されますsplit(" ")を使用して文字列を分割" "

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)がありません私が望む文字列の代わりに "test fas"を返すので十分です prasadが提案した解決策のために、文字列を再構築するときに空白をなくしたので、 – NxA

+1

@Ramです。 opに*単語が含まれているかどうかを尋ねる*各単語。文字列全体ではない。 – prasanth

関連する問題