首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

Swift 統計字符類型:元音、輔音與其他字符計數

     編輯:關於C++

功能描述

輸入一個字符串,統計其中英文元音字母 (a,e,i,o,u)、輔音字母 (其餘字母) 及其他字符 (數字、符號、空格等) 的個數。不區分大小寫。

Swift 實現

func countChars(string: String) -> (vowels: Int, consonants: Int, others: Int) {
    var vowels = 0, consonants = 0, others = 0
    for character in string {
        let char = String(character).lowercased()
        switch char {
        case "a", "e", "i", "o", "u":
            vowels += 1
        case "b", "c", "d", "f", "g", "h", "j", "k", "l", "m",
             "n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z":
            consonants += 1
        default:
            others += 1
        }
    }
    return (vowels, consonants, others)
}

// 使用示例
let charsInfo = countChars("some arbitrary string!")
print("Vowels: \(charsInfo.vowels), Consonants: \(charsInfo.consonants), Others: \(charsInfo.others)")
// 輸出: Vowels: 6, Consonants: 12, Others: 2

代碼說明

  • 使用 `for-in` 遍歷字符串的 `Character` 視圖,正確處理 Unicode 擴展字形簇。
  • `String(character).lowercased()` 統一轉小寫比較。
  • `switch` 語句匹配字符集,清晰易擴展。
  • 返回命名元組,調用處可直接 `.vowels` 等訪問。

擴展思路

  • 使用 `CharacterSet` 優化:`CharacterSet.letters`、`CharacterSet.lowercaseLetters` 等。
  • 支持多語言元音判斷需引入 Unicode 數據或第三方庫。
  • 大數據量下可用 `reduce` 或並行處理優化性能。

註:此代碼基於 Swift 官方示例修改,展示 Swift 字符串處理與元組返回特性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved