美文网首页iOS 开发 iOS Developer
使用 Swift 判断中英文字符

使用 Swift 判断中英文字符

作者: CyrusCao | 来源:发表于2016-10-02 15:06 被阅读1588次

    在开发过程中,经常要对用户输入的内容进行长度限制。而对于字符串信息来讲,中文字符和英文字符虽然长度不同,但都占一个字符。下面我们写一个函数来计算字符串的长度。

    static func numberOfChars(_ str: String) -> Int {
        var number = 0
        
        guard str.characters.count > 0 else {return 0}
        
        for i in 0...str.characters.count - 1 {
            let c: unichar = (str as NSString).character(at: i)
            
            if (c >= 0x4E00) {
                number += 2
            }else {
                number += 1
            }
        }
        return number
    }
    

    代码中的 0x4E00 是一个十六进制数,这是字符编码集中中文字符开始的地方,日文的编码边界是 0x0800。 所以我们根据这个边界值来判断字符应该占两位还是一位。

    相关文章

      网友评论

        本文标题:使用 Swift 判断中英文字符

        本文链接:https://www.haomeiwen.com/subject/fgjdyttx.html