String.codeUnits
可以返回字符串中每个字符的 Unicode 编码单元,而 String.runes
可以返回字符串中每个 Unicode 码点的迭代器。因此,可以通过判断字符串中是否包含大于 0xFFFF
的 Unicode 码点来判断该字符串是否包含中文字符。
例如,以下代码可以用来判断输入的字符串是否包含中文字符:
bool isChinese(String input) { // 检查字符串中是否包含大于 0xFFFF 的 Unicode 码点 return input.runes.any((rune) => rune > 0xFFFF); }
在这段代码中,isChinese
函数首先使用 String.runes
返回输入字符串的 Unicode 码点的迭代器,然后使用 Iterable.any
检查迭代器中是否存在大于 0xFFFF
的 Unicode 码点。如果存在,则返回 true
,表示输入字符串包含中文字符。如果不存在,则返回 false
,表示输入字符串不包含中文字符。
另外,也可以使用 String.contains
方法来检查字符串中是否包含中文字符,例如:
bool isChinese(String input) { // 检查字符串中是否包含中文字符 return input.contains(RegExp(r'[\u4e00-\u9fa5]')); }d