将字符串修剪为特定字数

cri*_*sen 3 trim angularjs

我的模板中有说明

<p>{{data.description}}</p>
Run Code Online (Sandbox Code Playgroud)

我想将这个描述修剪为某个单词编号,比如前20个单词.我见过很多过滤器,但它们修剪成某个特征.在大多数情况下,这会导致最后一个词中断.

Rey*_*raa 5

您需要使用空格将描述字符串拆分为单词,然后对其进行计数:

app.filter('words', function () {
  return function (input, words) {
    if (isNaN(words)) {
      return input;
    }
    if (words <= 0) {
      return '';
    }
    if (input) {
      var inputWords = input.split(/\s+/);
      if (inputWords.length > words) {
        input = inputWords.slice(0, words).join(' ') + '\u2026';
      }
    }
    return input;
  };
});
Run Code Online (Sandbox Code Playgroud)


首先,我检查参数是否为数字,然后我检查描述是否比我们要修剪的更长,然后我修剪其余部分.并在视图中:

{{data.description | words:250}}
Run Code Online (Sandbox Code Playgroud)