获取/剪切数据的typescript/Js对象中的第一行或前50个单词

nimxete2  于 2022-11-26  发布在  TypeScript
关注(0)|答案(1)|浏览(117)

我只需要发送API获取的数据中变量的第一行或前50个字。
HTML文件;

<td *ngIf="customizedColumns?.details_of_non_conformity?.value">
                                    <span [ngClass]="{'closeLine': rpt.isDeleted == 1}">
                                    <span [tooltip]="popTemplateToolTip"
                                          triggers="mouseenter:mouseleave"
                                          (mouseenter)="mouseEnterToolTip(rpt.detailsOfNonConformity)"
                                          (mouseleave)="mouseLeaveToolTip()"
                                          *ngIf="rpt.detailsOfNonConformity">
                                         <span>{{helperService.removeUnwantedHTMLWithTags(rpt?.detailsOfNonConformity) | truncate:30}}</span>
                                    </span>
                                  </span>
                </td>

TS文件:

mouseEnterToolTip(data) {
    this.toolTipHtml = data.split('.')[0];
    this.toolTipHtml = this.helperService.removeUnwantedHTMLWithTags(this.toolTipHtml);
  }

  mouseLeaveToolTip() {
    this.toolTipHtml = "";
  }

enter image description here
我尝试从变量this.toolTipHtml = data.split('\n')[0];中获取data中的第一行,我也使用了这个,但没有成功。

plicqrtu

plicqrtu1#

创建一个函数,返回字符串的第一行或前N个单词。

getFirstSentenceOrFirstNWordsFromValue(N: number, value: string): string{
  if(!value || !N) return '';

  // Get first paragraph
  var index: number = value.indexOf("\n");
  if (index !== -1) {value = value.substring(0, index);}
  
  // Get first sentence
  index = value.indexOf(".");
  if (index !== -1) {value = value.substring(0, index + 1);};
  
  // Return first N words of remaining value
  return value.split(' ').slice(0, N).join(' ');
}

相关问题