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

如何在Dart语言中编写代码提取给定字符串中的大写字母

在Dart中提取字符串里的大写字母

刚好遇到过类似需求,给你两种实用的实现方式,都能完美适配你给出的示例场景:

方法1:正则表达式(简洁高效)

用正则匹配所有大写英文字母是最快捷的方式,代码量少还易读:

void main() {
  String name = 'deryaKimlonLeo';
  // 定义匹配大写字母的正则规则
  final upperCaseRegex = RegExp(r'[A-Z]');
  // 获取所有匹配的结果
  final matches = upperCaseRegex.allMatches(name);
  // 将匹配到的字符拼接成最终字符串
  final result = matches.map((match) => match.group(0)).join();
  
  print(result); // 输出结果:KL
}

原理很简单:[A-Z]会匹配所有A到Z的大写英文字母,allMatches会返回字符串中所有符合规则的匹配项,最后通过map提取每个匹配的字符,再用join拼接成完整的结果字符串。

方法2:遍历字符判断(直观可控)

如果你不想依赖正则,也可以手动遍历每个字符,通过大小写转换对比来判断是否为大写字母:

void main() {
  String name = 'deryaKimlonLeo';
  String result = '';
  
  for (final char in name.split('')) {
    // 只有当字符本身是大写,且转小写后和原字符不同时,才判定为大写字母(避免数字/符号干扰)
    if (char == char.toUpperCase() && char != char.toLowerCase()) {
      result += char;
    }
  }
  
  print(result); // 输出结果:KL
}

这种方式的好处是逻辑清晰,你可以在遍历过程中灵活添加其他判断条件(比如过滤特定字符),适合需要自定义规则的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 10:07:27