Flutter 正确删除emoji表情/正确分割字符串

 showName.length > 3 ? (showName).substring(0, 3) + "..." : showName

正常,我们会这样子写分割字符串,但是在flutter端,如果遇到了emoji表情,则会出现问题。emoji表情会导致无法正确计算出showName的长度,分割后在Text上显示就会报错了。

正确的分割方式:

  static String maxLength(String str, int len) {
    // 删除emoji表情
    var sRunes = str.runes;
    return sRunes.length > len ?  String.fromCharCodes(sRunes, 0, sRunes.length - len) +"...":str;
  }
原文地址:https://www.cnblogs.com/hbolin/p/12299443.html