You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中自定义String Extension实现单词首字母大写

完善String Extension的capitalizeEachWord方法

你可以复用已实现的capitalize()方法,结合字符串分割与拼接来完成每个单词首字母大写的功能,以下是完善后的完整代码:

extension StringExtension on String {
  String capitalize() {
    // 把字符串首字母转为大写,其余字母转为小写
    if (trim().isEmpty) return '';
    return "${this[0].toUpperCase()}${this.substring(1).toLowerCase()}";
    // 补充toLowerCase()是为了避免原单词后续字母大写的情况,比如输入"i LOVE flutter"也能输出统一格式
  }

  String capitalizeEachWord() {
    if (trim().isEmpty) return '';
    // 按空格分割成单词列表
    List<String> words = split(' ');
    // 对每个单词调用capitalize()处理,再拼接回字符串
    return words.map((word) => word.capitalize()).join(' ');
  }

  String removeExtraSpaces() {
    // 移除单词间的多余空格
    if (trim().isEmpty) return '';
    return trim().replaceAll(RegExp(' +'), ' ');
  }
}

验证示例

运行你的测试代码:

String str='  i   love  flutter   ';
print(str.removeExtraSpaces().capitalizeEachWord());
// 输出结果:I Love Flutter

补充说明

  • 复用capitalize()方法减少了重复逻辑,也方便后续统一修改首字母大写的规则
  • capitalize()里的toLowerCase()是可选但实用的优化,能确保单词除首字母外都是小写,适配更多输入场景

内容的提问来源于stack exchange,提问作者user22362195

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 19:50:19