【问题标题】:How to get first vowel in a String swift如何快速获得字符串中的第一个元音
【发布时间】:2020-07-08 06:06:03
【问题描述】:

我想在字符串 (apellidoPat) 中找到第一个元音,例如,如果我的字符串是“CRUZ”,我的扩展输出是:“U”我可以使用什么?一个循环??


var apellido_paterno = "CRUZ"
let vowels = "AEIOU"
    for index in stride(from: 0, to: apellido_paterno.count , by: 1){
            if vowels.index(of: ){
                
            }
      }

【问题讨论】:

  • 你认为“带变音符号的字母”(如 áèïōû)是元音吗?连字(–,æ)怎么样?
  • @Sweeper No only AEIOU

标签: ios swift string xcode character


【解决方案1】:

你可以使用Collection的方法first(where:)检查vowels.contains是不是Character

let apellidoPaterno = "CRUZ"
let vowels = "AEIOU"
if let firstVowel = apellidoPaterno.first(where: vowels.contains) {
    print(firstVowel)  // "U\n"
}

如果你想做一个不区分大小写和变音符号的搜索,你可以使用 String 方法localizedStandardContains:

if let firstVowel = apellidoPaterno.first(where: { vowels.localizedStandardContains(String($0)) }) {
    print(firstVowel)  // "U\n"
}

【讨论】:

    【解决方案2】:

    您可以使用rangeOfCharacterCharacterSet 来查找第一个元音

    func getFirstVowel(name: String) -> Character? {
    
        let vowels = CharacterSet(charactersIn: "aeiou")
    
        if let index = name.lowercased().rangeOfCharacter(from: vowels)?.lowerBound {
            return name[index]
        }
    
        return nil
    }
    
    print(getFirstVowel(name: "MIchael")) // "I\n"
    

    【讨论】:

      猜你喜欢
      • 2023-03-22
      • 2016-04-05
      • 2015-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-23
      相关资源
      最近更新 更多