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

Flutter/Dart 如何判断字符是大写还是小写?

Dart/Flutter 字符大小写判断实现方案

Dart 没有内置的单个字符大小写判断API,你可以通过以下两种方式实现:


实现方式1:基于ASCII码判断(性能更高,仅支持英文字母)

英文字母大写的ASCII码范围为65~90(对应A-Z),小写范围为97~122(对应a-z),基于该规则封装工具函数:

// 判断是否为大写英文字母
bool isUpperCase(String char) {
  // 仅处理单个字符的输入
  if (char.length != 1) return false;
  final int code = char.codeUnitAt(0);
  return code >= 65 && code <= 90;
}

// 判断是否为小写英文字母
bool isLowerCase(String char) {
  if (char.length != 1) return false;
  final int code = char.codeUnitAt(0);
  return code >= 97 && code <= 122;
}

实现方式2:大小写比对实现(兼容性更强,支持带音标拉丁字符)

通过将字符和它本身的大写、小写转换结果比对判断:

bool isUpperCase(String char) {
  if (char.length != 1) return false;
  // 转大写后不变,且转小写后发生变化,说明本身是大写
  return char == char.toUpperCase() && char != char.toLowerCase();
}

bool isLowerCase(String char) {
  if (char.length != 1) return false;
  // 转小写后不变,且转大写后发生变化,说明本身是小写
  return char == char.toLowerCase() && char != char.toUpperCase();
}

使用示例

void main() {
  const test1 = 'D';
  const test2 = 'f';
  const test3 = '@';

  print(isUpperCase(test1)); // 输出 true
  print(isLowerCase(test1)); // 输出 false
  print(isUpperCase(test2)); // 输出 false
  print(isLowerCase(test2)); // 输出 true
  print(isUpperCase(test3)); // 输出 false
  print(isLowerCase(test3)); // 输出 false
}

注意:数字、符号、中文等非英文字母类字符,以上两个方法都会返回false,符合常规业务判断逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:57:00