美文网首页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