点击下方大众号卡片,重视我,每天共享一个关于 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新知”,每天准时共享一个新知识,这儿只是同步,想要及时学到就来重视我吧!