【发布时间】:2019-12-04 18:24:03
【问题描述】:
飞镖中是否有任何最简单或内置的方法可以将每个单词的首字母更改为大写
例如:系统管理员到系统管理员
【问题讨论】:
飞镖中是否有任何最简单或内置的方法可以将每个单词的首字母更改为大写
例如:系统管理员到系统管理员
【问题讨论】:
没有内置方法可以做到这一点,您可以通过多种方式实现,其中一种可能是:
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"
【讨论】:
您可以将 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 匹配为零,因此没有必要将其放入后视中。它包含自己的后视,因为它的匹配取决于前一个字符。