返回指定字符后的子字符串

时间:2017-04-06 09:17:36

标签: swift3

如果我有一个字符串,例如spider,你如何创建一个新的字符串,从第一个元音开始,以最初字符串的最后一个字符结束。

例如:   - 蜘蛛会是理所当然的   - 大象会是大象   - 校园将是安普斯

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

自定义CharacterSetString扩展名

的简单解决方案
extension String {

    func substringFromFirstVowel() -> String
    {
        let vowelCharacterSet = CharacterSet(charactersIn: "aeiouAEIOU")
        guard let range = self.rangeOfCharacter(from: vowelCharacterSet) else { return self }
        return self.substring(from: range.lowerBound)
    }
}


"elephant".substringFromFirstVowel() // elephant
"spider".substringFromFirstVowel() // ider
"campus".substringFromFirstVowel() // ampus 

答案 1 :(得分:0)

尝试这个小功能

func firstVowel(input : String) -> String {
    var firstVowel = true
    let vowels = "aAeEiIoOuU".characters
    var result = ""

    for char in input.characters {

        if(!firstVowel) {
            result.append(char)
        }

        if(vowels.contains(char) && firstVowel) {
            firstVowel = false
            result.append(char)
        }
    }
    return result
}

print(firstVowels(input: "elephant")) //prints elephant
print(firstVowels(input: "Spider")) //prints ider