如何编写缩减字符串的代码?

把一段英文缩减至给定长度,当缩减后的字符串中的英语单词数量3个时,在该字符串后增加三个半角句号... 备注:此处的单词是原句中的单词,若被切分成几个字母则删去:I am a bug 在运行中被切为 I am a bu, 应当删去 bu, 输出 I am a.
例如:

function truncate(str, num) {
  // The truncate function.
  return str;
}

示例:

  1. truncate("A-", 1);
    OutPut = "A...".

  2. truncate("Absolutely Longer", 2);
    OutPut = "Ab...".

  3. truncate("Peter Piper pi a peck of pickled peppers", 14);
    OutPut = "Peter Piper pi".

阅读 3.6k
1 个回答
String.prototype.shortStr = function(num){
    var left = this.slice(0, num+1) .replace(/\s+/g,' ').replace(/\s\S*$/,'');
    var spaceMatched = left.match(/\s/g);

   if(!spaceMatched || spaceMatched.length<2){
     left += '...'
   }
   return left;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题