如何在Swift中找出字母是字母数字还是数字

sirab333

我想计算以下字符串中的字母,数字和特殊字符的数量:

let phrase = "The final score was 32-31!"

我试过了:

for tempChar in phrase {
    if (tempChar >= "a" && tempChar <= "z") {
       letterCounter++
    }
// etc.

但我遇到了错误。我对此进行了各种其他尝试-仍然出现错误-例如:

找不到'<='的重载,该重载接受提供的参数

马丁·R

对于Swift 5,请参阅rustylepord的答案

Swift 3更新:

let letters = CharacterSet.letters
let digits = CharacterSet.decimalDigits

var letterCount = 0
var digitCount = 0

for uni in phrase.unicodeScalars {
    if letters.contains(uni) {
        letterCount += 1
    } else if digits.contains(uni) {
        digitCount += 1
    }
}

(以前的Swift版本的答案)

一个可能的Swift解决方案:

var letterCounter = 0
var digitCount = 0
let phrase = "The final score was 32-31!"
for tempChar in phrase.unicodeScalars {
    if tempChar.isAlpha() {
        letterCounter++
    } else if tempChar.isDigit() {
        digitCount++
    }
}

更新:以上解决方案仅适用于ASCII字符集中的字符,即不能将Ä,é或ø识别为字母。NSCharacterSetFoundation框架使用以下替代解决方案,该框架可以根据Unicode字符类测试字符:

let letters = NSCharacterSet.letterCharacterSet()
let digits = NSCharacterSet.decimalDigitCharacterSet()

var letterCount = 0
var digitCount = 0

for uni in phrase.unicodeScalars {
    if letters.longCharacterIsMember(uni.value) {
        letterCount++
    } else if digits.longCharacterIsMember(uni.value) {
        digitCount++
    }
}

更新2:从Xcode 6 beta 4开始,第一个解决方案不再起作用,因为isAlpha()和的相关方法(仅ASCII)已从Swift中删除。第二个解决方案仍然有效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Swift中找出字母是字母数字还是数字

来自分类Dev

如何在shell中按数字对字母数字进行排序

来自分类Dev

如何在R中的字母数字字符串中获取数字/字母索引模式?

来自分类Dev

如何在PostgreSQL中自动增加字母数字值?

来自分类Dev

如何在PostgreSQL中创建字母数字序列

来自分类Dev

如何在MYSQL中对字母数字列排序?

来自分类Dev

如何在Python中设置数字/字母间隔

来自分类Dev

如何在yii中制定字母数字规则

来自分类Dev

如何在Excel中从字母创建数字组合

来自分类Dev

如何在Python中将列表中的字母更改为其对应的字母数字

来自分类Dev

在sed中,如何表示“字母数字或_或-”

来自分类Dev

如何扩展ash中的字母/数字列表?

来自分类Dev

找出字符是大写,小写还是数字的程序

来自分类Dev

找出字符是大写,小写还是数字的程序

来自分类Dev

如何检查Javascript中作为字符串带来的变量是数字还是字母?

来自分类Dev

找出最后一个字符是字母还是数字

来自分类Dev

如何在SQL中同时包含数字和字母数字值的行升序排序?

来自分类Dev

在包含字母+数字的字段中捕获字母

来自分类常见问题

检查输入的是数字还是字母javascript

来自分类Dev

检查字符是字母还是数字?

来自分类Dev

什么命令可以解析出字符变量中的字母和数字?

来自分类Dev

如何检索字母数字行?

来自分类Dev

比较数字与字母数字

来自分类Dev

Oracle中的字母数字排序

来自分类Dev

VIM中的字母数字排序

来自分类Dev

在Excel中字母数字排序?

来自分类Dev

如何从字母数字获取数字输出(Pyautogui)

来自分类Dev

.htaccess我要重写字母-字母/数字中的数字

来自分类Dev

在Swift中与非字母数字字符等效的key

Related 相关文章

  1. 1

    如何在Swift中找出字母是字母数字还是数字

  2. 2

    如何在shell中按数字对字母数字进行排序

  3. 3

    如何在R中的字母数字字符串中获取数字/字母索引模式?

  4. 4

    如何在PostgreSQL中自动增加字母数字值?

  5. 5

    如何在PostgreSQL中创建字母数字序列

  6. 6

    如何在MYSQL中对字母数字列排序?

  7. 7

    如何在Python中设置数字/字母间隔

  8. 8

    如何在yii中制定字母数字规则

  9. 9

    如何在Excel中从字母创建数字组合

  10. 10

    如何在Python中将列表中的字母更改为其对应的字母数字

  11. 11

    在sed中,如何表示“字母数字或_或-”

  12. 12

    如何扩展ash中的字母/数字列表?

  13. 13

    找出字符是大写,小写还是数字的程序

  14. 14

    找出字符是大写,小写还是数字的程序

  15. 15

    如何检查Javascript中作为字符串带来的变量是数字还是字母?

  16. 16

    找出最后一个字符是字母还是数字

  17. 17

    如何在SQL中同时包含数字和字母数字值的行升序排序?

  18. 18

    在包含字母+数字的字段中捕获字母

  19. 19

    检查输入的是数字还是字母javascript

  20. 20

    检查字符是字母还是数字?

  21. 21

    什么命令可以解析出字符变量中的字母和数字?

  22. 22

    如何检索字母数字行?

  23. 23

    比较数字与字母数字

  24. 24

    Oracle中的字母数字排序

  25. 25

    VIM中的字母数字排序

  26. 26

    在Excel中字母数字排序?

  27. 27

    如何从字母数字获取数字输出(Pyautogui)

  28. 28

    .htaccess我要重写字母-字母/数字中的数字

  29. 29

    在Swift中与非字母数字字符等效的key

热门标签

归档