美文网首页
Flutter-RegExp-allMatches提取

Flutter-RegExp-allMatches提取

作者: 秋分落叶 | 来源:发表于2019-03-21 10:07 被阅读0次

    List<Widget> _buildContent(String content) {

        List<Widget> contentList = new List();

        RegExp url = new RegExp(r"((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+");

        List listString = content.split(url);

        List listUrl = new List();

        Iterable<Match> matches = url.allMatches(content);

        int urlIndex = 0;

        for (Match m in matches) {

          listUrl.add(m.group(0));

        }

        for (var i = 0; i < listString.length; i++) {

          if (listString[i] == '') {

            // 空字符串说明应该填充Url

            contentList.add(PinsCellLink(

              linkUrl: listUrl[urlIndex],

            ));

            urlIndex += 1;

          } else {

            contentList.add(Text(

              listString[i],

              style: _textStyle,

              overflow: TextOverflow.ellipsis,

              maxLines: 5,

            ));

          }

        }

        return contentList;

      }

    相关文章

      网友评论

          本文标题:Flutter-RegExp-allMatches提取

          本文链接:https://www.haomeiwen.com/subject/zqnfvqtx.html