C++具有类似find_first_of()
、find_first_not_of()
、find_last_of()
的字符串函数,find_last_not_of()
。例如,如果我写
string s {"abcdefghi"};
s.find_last_of("eaio")
返回i 的索引s.find_first_of("eaio")
返回的索引s.find_first_not_of("eaio")
返回b 的索引
Kotlin有等效物吗。
Kotlin没有这些确切的函数,但它们都是indexOfFirst
和indexOfLast
的特例:
fun CharSequence.findFirstOf(chars: CharSequence) = indexOfFirst { it in chars }
fun CharSequence.findLastOf(chars: CharSequence) = indexOfLast { it in chars }
fun CharSequence.findFirstNotOf(chars: CharSequence) = indexOfFirst { it !in chars }
fun CharSequence.findLastNotOf(chars: CharSequence) = indexOfLast { it !in chars }
如果找不到任何内容,这些将返回-1。
用法:
val s = "abcdefghi"
val chars = "aeiou"
println(s.findFirstOf(chars))
println(s.findFirstNotOf(chars))
println(s.findLastOf(chars))
println(s.findLastNotOf(chars))
输出:
0
1
8
7