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

Flutter中如何用Dart将Text组件内字符串的首字母大写

Dart 实现字符串首字母大写方案

你可以通过扩展String类型的方法实现需求,复用性最高,后续其他地方需要同样处理也可以直接调用。

第一步:定义字符串扩展

在全局公共文件或者当前dart文件顶部添加扩展定义:

extension StringExtension on String {
  // 仅首字母大写
  String capitalizeFirst() {
    if (isEmpty) return this;
    return this[0].toUpperCase() + substring(1);
  }

  // 可选:如果需要每个单词首字母都大写,添加这个方法
  String capitalizeEachWord() {
    if (isEmpty) return this;
    return split(' ').map((word) {
      if(word.isEmpty) return word;
      return word[0].toUpperCase() + word.substring(1);
    }).join(' ');
  }
}

第二步:修改你的Text组件代码

Text(
  // 空安全处理,避免product_name为null或空字符串时报错
  "${_products[index]["product_name"]?.toString().capitalizeFirst() ?? ""}",
  style: TextStyle(fontSize: 22.sp,),
)

如果不想定义扩展,只需要单次临时处理,也可以直接写逻辑:

Text(
  "${() {
    String name = _products[index]["product_name"]?.toString() ?? "";
    return name.isEmpty ? name : name[0].toUpperCase() + name.substring(1);
  }()}",
  style: TextStyle(fontSize: 22.sp,),
)
  • 注意:如果product_name的值可能包含前导空格,可以先调用trim()处理之后再做首字母大写逻辑,避免空格影响大写效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 01:21:03