点击下方大众号卡片,重视我,每天共享一个关于 iOS 的新知识
前语
在日常的开发中,经常会需求获取一个字符串的前缀,我总结了在 Swift 中查看字符串前缀的多种办法共享给大家,看看有没有你不知道的。
我们认为 "Hello World"
这个字符串为例,判别是否以 Hello 最初。
1. 运用 hasPrefix(_:) 办法
能够运用字符串的 hasPrefix(_:)
办法查看字符串是否有指定的前缀:
letstr="HelloWorld"
ifstr.hasPrefix("Hello"){//true
print("\(str)以Hello最初")
}
这个办法直接回来一个 Bool
来判别是否以某个字符串最初。
2. prefix 函数获取前缀子字符串
能够运用 prefix(_:)
来获取前缀子字符串:
letstr="HelloWorld"
letprefix=str.prefix(5)
ifprefix=="Hello"{
print("\(str)以Hello最初")
}
这种办法运用 prefix
函数获取前 5 个字符,然后再与 “Hello” 做比照。
3. prefix(upTo:) 函数获取前缀子字符串
能够运用 prefix(upTo:)
来获取前缀子字符串:
letstr="HelloWorld"
letindex=str.index(str.startIndex,offsetBy:5)
letprefix=str.prefix(upTo:index)
ifprefix=="Hello"{
print("\(str)以Hello最初")
}
这种办法先运用 index(_:, offsetBy:)
获取前五个字符的下标,然后运用 prefix(upTo:)
函数获取前 5 个字符,最终与 “Hello” 做比照的办法,适用于获取字符串前 n 个字符的情况。
4. 运用字符串区间索引
先获取前 5 个字符的下标,再依据下标区间获取前 5 个字符的值,最终再与对应的字符串比照:
letstr="HelloWorld"
letindex=str.index(str.startIndex,offsetBy:5)
letprefix=str[..<index]
ifprefix=="Hello"{
print("\(str)以Hello最初")
}
5. 运用条件获取
能够运用 prefix(while:)
获取满足条件的前缀:
letstr="HelloWorld"
letprefix=str.prefix{cin
!c.isWhitespace
}
ifprefix=="Hello"{
print("\(str)以Hello最初")
}
这种办法运用 prefix(while:)
函数获取指定指定条件(第一个空格之前)的字符串,再和 “Hello” 比照得出结果。
6. 运用 firstIndex/lastIndex
能够结合 firstIndex(of:)
或 lastIndex(of:)
获取特定字符的索引,从而获取前缀:
letstr="HelloWorld"
ifletend=str.firstIndex(of:""),
str[..<end]=="Hello"{
print("\(str)以Hello最初")
}
先用 firstIndex(of:)
办法获取到第一个空格所在的方位,再依据下标区间获取指定的前缀。
7. 运用 prefix(through:) 函数
prefix(through:)
能够获得从最初到指定方位的子集合,跟上边第二种办法差不多,只不过这儿的参数传的是下标类型:
letstr="HelloWorld"
letindex=str.index(str.startIndex,offsetBy:4)
letprefix=str.prefix(through:index)
ifprefix=="Hello"{
print("\(str)以Hello最初")
}
以上便是获取字符串前缀的 7 种常用办法,能够依据需求选择最适合的办法。
这儿每天共享一个 iOS 的新知识,快来重视我吧
本文同步自微信大众号 “iOS新知”,每天准时共享一个新知识,这儿只是同步,想要及时学到就来重视我吧!