Swift String.count 和 [NSString length] 结果不相等 猴子请来的真人 2020-08-27 486 阅读1分钟 原因很简单,这是因为 Swift 使用 Extended Grapheme Clusters. 比如 Swift 将 emoji 笑脸视为一个字符,但 NSString 方法将其视为两个 Unicode 字符,尽管它们是“组合”并表示单个符号。 但在 Swift 里面使用正则匹配时用的还是 NSRegularExpression,所以 range length 应该用 (jsonString as NSString).length,否则遇上 \r\n 这样的就等着坑吧