Dart中是否存在类似Java charAt的字符串字符获取方法?
Dart中获取字符串指定位置字符的方法
Dart里有多种方式实现类似Java charAt() 的功能,用法如下:
直接通过索引访问(最常用):
Dart的字符串支持方括号索引语法,直接获取对应位置的字符(返回长度为1的String类型):String name = "Jack"; String letter = name[0]; print(letter); // 输出: J获取Unicode代码单元:
如果需要对应Java中char的数值形式,可以使用codeUnitAt()方法,返回指定索引处的UTF-16代码单元:String name = "Jack"; int code = name.codeUnitAt(0); print(code); // 输出: 74('J'的ASCII码值)处理复杂Unicode字符:
对于包含多字节Unicode字符(如emoji、部分特殊中文)的场景,直接索引可能得到拆分的代理对,此时推荐使用runes属性遍历完整字符:String emoji = "😀"; int rune = emoji.runes.first; print(String.fromCharCode(rune)); // 输出: 😀
注意:Java的charAt()返回char类型,而Dart直接索引返回的是String,这是因为Dart字符串基于UTF-16实现,针对超出基本多语言平面(BMP)的字符,runes能保证获取完整的字符实体。
内容的提问来源于stack exchange,提问作者AbDullA
相关产品推荐
相关产品推荐

