我对JavaScript中的字符串操作不太满意,我想知道如何在不删节的情况下缩短字符串。我知道如何使用子字符串,但不知道indexOf或其他任何很好的方法。
说我有以下字符串:
text = "this is a long string I cant display"
我想将其缩减为10个字符,但是如果它不以空格结尾,请完成该单词。我不希望字符串变量看起来像这样:
“这是我不能忍受的长字符串”
我希望它在出现空格之前将单词结束。
如果我理解正确,则希望将字符串缩短为一定的长度(例如,缩短"The quick brown fox jumps over the lazy dog"为6个字符而不切断任何单词)。
"The quick brown fox jumps over the lazy dog"
在这种情况下,您可以尝试以下操作:
var yourString = "The quick brown fox jumps over the lazy dog"; //replace with your string. var maxLength = 6 // maximum number of characters to extract //Trim and re-trim only when necessary (prevent re-trim when string is shorted than maxLength, it causes last word cut) if(yourString.length > trimmedString.length){ //trim the string to the maximum length var trimmedString = yourString.substr(0, maxLength); //re-trim if we are in the middle of a word and trimmedString = trimmedString.substr(0, Math.min(trimmedString.length, trimmedString.lastIndexOf(" "))) }