如何在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条评论
登录后参与评论

相关文章

来自分类常见问题

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Oracle中的字母数字排序

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

VIM中的字母数字排序

来自分类Dev

如何检索字母数字行?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在Excel中字母数字排序?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

比较数字与字母数字

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

    Oracle中的字母数字排序

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

    VIM中的字母数字排序

  17. 17

    如何检索字母数字行?

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

    在Excel中字母数字排序?

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

    比较数字与字母数字

  29. 29

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

热门标签

归档