Swift3 返回指定字符后的子字符串
如果我有一个字符串,例如spider,如何创建一个从第一个元音开始并以初始字符串的最后一个字符结束的新字符串 例如: -蜘蛛更合适 -大象就是大象 -校园将是安瓿Swift3 返回指定字符后的子字符串,swift3,Swift3,如果我有一个字符串,例如spider,如何创建一个从第一个元音开始并以初始字符串的最后一个字符结束的新字符串 例如: -蜘蛛更合适 -大象就是大象 -校园将是安瓿 谢谢您的帮助。试试这个小功能 func firstVowel(input : String) -> String { var firstVowel = true let vowels = "aAeEiIoOuU".characters var result = "" for char in in
谢谢您的帮助。试试这个小功能
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
试试这个小功能
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
使用自定义
字符集
作为字符串
扩展名的简单解决方案
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
使用自定义
字符集
作为字符串
扩展名的简单解决方案
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
嗯,用完全相同的解决方案比我快,甚至函数名也是一样的。唯一的区别是我使用了<代码>选项:.CaseNeimaby。@ Sulthan,谢谢提示,但是
String
API的另一个怪癖。。。无论如何,我可能会使用[aeiou]
正则表达式:)嗯,使用完全相同的解决方案比我快,甚至函数名也是一样的。唯一的区别是我使用了<代码>选项:.CaseNeimaby。@ Sulthan,谢谢提示,但是String
API的另一个怪癖。。。我可能会使用[aeiou]
正则表达式:)