8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何将任何语言编写的字符串拆分为单词(使用 Flutter/Dart)?

user23470475 1月前

18 0

我有这个字符串:我喜欢脾气暴躁的猫。你呢?ффффф ыыыыы ইউটিউব থেকে如果我在正则表达式中使用 \w - 那么我只会得到用拉丁字母写的单词:final text = \'我喜欢脾气暴躁的猫。你呢?ф...

我有这个字符串:

I like grumpy cats. Do you? ффффф ыыыыы ইউটিউব থেকে

如果我 \w 在正则表达式中使用 - 那么我只会得到用拉丁字母写的单词:

  final text = "I like grumpy cats. Do you? ффффф ыыыыы ইউটিউব থেকে";
  RegExp re = RegExp(r"\w+");
  List<String> words = [];
  for (Match match in re.allMatches(text)) {
    words.add(match.group(0)!);
  }
  print(words);

输出:

[I, like, grumpy, cats, Do, you]

但我需要这个结果:

[I, like, grumpy, cats, Do, you, ффффф, ыыыыы, ইউটিউব, থেকে]

这个 答案中,我发现这 \p{L} 意味着“任何类型的字母,来自任何类型的语言”。但我无法让它在 Flutter/Dart 中工作

帖子版权声明 1、本帖标题:如何将任何语言编写的字符串拆分为单词(使用 Flutter/Dart)?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由user23470475在本站《dart》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 您可以将简写字符类分解 \w 为其组成的 Unicode 类别类,并 uncode: true 在 RegExp 构造函数中使用参数:

    String text = "I like grumpy cats. Do you? ффффф ыыыыы ইউটিউব থেকে";
    RegExp re = new RegExp re = new RegExp(r'[\p{Alphabetic}\p{Mark}\p{Decimal_Number}\p{Connector_Punctuation}\p{Join_Control}]+', unicode: true);
    List<String?> words = re.allMatches(text).map((z) => z.group(0)).toList();
    print(words);
    

    输出:

    [I, like, grumpy, cats, Do, you, ффффф, ыыыыы, ইউটিউব, থেকে]
    

    细节

    • unicode: true 在正则表达式模式中启用 Unicode 类别
    • \p{Alphabetic}\p{Mark}\p{Decimal_Number}\p{Connector_Punctuation}\p{Join_Control} - 匹配任何 Unicode 单词字符
返回
作者最近主题: