【问题标题】:Dart First Letter to UppercaseDart 首字母转大写
【发布时间】:2019-12-04 18:24:03
【问题描述】:

飞镖中是否有任何最简单或内置的方法可以将每个单词的首字母更改为大写

例如:系统管理员系统管理员

【问题讨论】:

标签: string dart


【解决方案1】:

没有内置方法可以做到这一点,您可以通过多种方式实现,其中一种可能是:

var string = 'system admin';
StringBuffer titleCase = StringBuffer();

string.split(' ')
  .forEach((sub) {
    if (sub.trim().isEmpty)
        return;

    titleCase
      ..write(sub[0].toUpperCase())
      ..write(sub.substring(1))
      ..write(' ');
  });

print(titleCase.toString()); //Prints "System Admin"

或者可以使用recase package

ReCase rc = ReCase('system admin');
(rc.titleCase); // Prints "System Admin"

【讨论】:

    【解决方案2】:

    您可以将 RegExp 与 String.replaceAllMapped 一起使用

      var recase = RegExp(r'\b\w');
      var str = 'the quick brown fox jumps over the lazy dog';
      print(str.replaceAllMapped(recase, (match) => match.group(0).toUpperCase()));
      // The Quick Brown Fox Jumps Over The Lazy Dog
    

    【讨论】:

    • 正则表达式可能只是RegExP(r"\b\w")\b 匹配为零,因此没有必要将其放入后视中。它包含自己的后视,因为它的匹配取决于前一个字符。
    猜你喜欢
    • 1970-01-01
    • 2021-07-29
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 2021-11-02
    相关资源
    最近更新 更多