【问题标题】:How to count the quantity of lowercase and uppercase letters in string?如何计算字符串中小写和大写字母的数量?
【发布时间】:2021-01-10 19:45:45
【问题描述】:

如何统计字符串中大小写字母的个数?

例如:

输入:

你好世界

输出:

8 2

因为输入包含 8 个小写字母和 2 个大写字母。

【问题讨论】:

标签: swift string uppercase lowercase


【解决方案1】:

您可以通过使用isUppercaseisLowercase 属性来使用Character 的内置功能:

var str = "Hello, playground"

var numOfUppercasedLetters = 0
var numOfLowercasedLetters = 0

for char in str {
    if char.isUppercase {
        numOfUppercasedLetters += 1
    } else if char.isLowercase {
        numOfLowercasedLetters += 1
    }
}

print(numOfUppercasedLetters, numOfLowercasedLetters)

有关更多信息,请参阅此主题:How can I identify uppercase and lowercase characters in a string with swift?

【讨论】:

    【解决方案2】:

    你可以像这样使用Stringreduce(_:_:)函数:

    var string = "Hello"
    
    let (uppercase, lowercase) = string.reduce((0, 0)) { (result, character) -> (Int, Int) in
        if character.isUppercase {
            return (result.0 + 1, result.1)
        } else if character.isLowercase {
            return (result.0, result.1 + 1)
        }
        return result
    }
    
    print(uppercase, lowercase)
    

    【讨论】:

      【解决方案3】:

      我不确切知道以下代码是从哪个版本的 Swift 编译的,但我使用 Swift 5.4 对其进行了测试:

      import Foundation
      
      let testString = "ABCdefg"
      
      let lowercase = testString.filter { $0.isLowercase }.count
      let uppercase = testString.filter { $0.isUppercase }.count
      
      print(lowercase, uppercase)
      

      【讨论】:

        【解决方案4】:
        import Foundation
        
        let  testString = "ABCdefg"
        var uppercase = 0;
        var lowercase = 0;
        
        for character in testString {
            if character.isUppercase {
                uppercase += 1
            } else {
                lowercase += 1
            }
        }
        
        print(uppercase)
        print(lowercase)
        

        【讨论】:

          猜你喜欢
          • 2014-10-03
          • 2020-01-04
          • 1970-01-01
          • 1970-01-01
          • 2015-05-11
          • 1970-01-01
          • 2017-03-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多