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

Flutter电商APP如何将API返回的大写下划线分类字符串转为规范展示文本?

Flutter 分类字符串批量转换实现方案

你可以通过「特殊规则优先匹配+通用格式转换」的逻辑实现批量处理,适配现有需求同时兼容后续新增分类,具体实现代码如下:

String formatCategory(String rawCategory) {
  // 特殊分类映射表,覆盖自定义连接符场景
  final Map<String, String> specialCategoryMap = {
    'HOME_AND_LIVING': 'Home &amp; Living',
    'WEDDING_AND_PARTY': 'Wedding &amp; Party',
    'CLOETHES_AND_SHOES': 'Cloethes and Shoes',
  };
  // 优先匹配特殊规则
  if (specialCategoryMap.containsKey(rawCategory)) {
    return specialCategoryMap[rawCategory]!;
  }
  // 通用转换逻辑,适配普通分类
  final wordList = rawCategory.split('_');
  final formattedWordList = wordList.map((word) {
    if (word.isEmpty) return word;
    return word[0].toUpperCase() + word.substring(1).toLowerCase();
  }).toList();
  return formattedWordList.join(' ');
}

// 批量调用示例
void main() {
  final rawCategories = ['GIFT', 'HOME_AND_LIVING', 'WEDDING_AND_PARTY', 'CLOETHES_AND_SHOES'];
  final formattedCategories = rawCategories.map((e) => formatCategory(e)).toList();
  print(formattedCategories); // 输出:[Gift, Home &amp; Living, Wedding &amp; Party, Cloethes and Shoes]
}

注意:如果前端不需要HTML转义直接显示&符号,直接修改映射表中的&amp;为&即可。后续新增分类如果没有特殊连接符需求,不需要修改代码自动适配;如果有特殊规则,只需要在specialCategoryMap中新增对应键值对即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:06:03