原文: https://beginnersbook.com/2019/02/kotlin-string/

字符串是一系列字符。在本指南中,我们将了解如何在 Kotlin 中声明,使用和操作字符串。

在 Kotlin 中声明一个String

我们可以在 Kotlin 中定义一个String。让我们看一下下面的例子,这里我们已经声明了两个不可变的字符串websitelongString我们还声明了两个可变字符串namelName。这个例子还展示了一种简单的字符串连接方式,在 Kotlin 指南中阅读更多参考字符串连接

  1. /**
  2. * created by Chaitanya for Beginnersbook.com
  3. */
  4. package beginnersbook
  5. fun main(args : Array<String>){
  6. /**
  7. * These Strings are Immutable which
  8. * means they are read-only and
  9. * unchangeable
  10. */
  11. val website = "BeginnersBook"
  12. /**
  13. * This is how we declare long strings
  14. */
  15. val longString = """Welcome to
  16. Beginnersbook.com"""
  17. /**
  18. * Mutable Strings
  19. */
  20. var name = "Chaitanya"
  21. var lName = "Singh"
  22. name = name + " " + lName
  23. println("Name is: $name")
  24. }

输出:

Kotlin 字符串 - 图1

在 Kotlin 中获取字符串长度

让我们看看我们如何在 Kotlin 中获得String长度。在下面的示例中,我们有一个String firstName,我们正在显示该字符串的长度。

  1. /**
  2. * created by Chaitanya for Beginnersbook.com
  3. */
  4. package beginnersbook
  5. fun main(args : Array<String>){
  6. var firstName = "Chaitanya"
  7. /**
  8. * String interpolation
  9. */
  10. println("String Length: ${firstName.length}")
  11. /**
  12. * Or you can display like this
  13. */
  14. println("String Length: " + firstName.length)
  15. }

输出:

  1. String Length: 9
  2. String Length: 9

比较 Kotlin 中的String

让我们举一个例子来比较 Kotlin 中的两个字符串。有两种比较字符串的方法,使用equals()方法或使用compareTo()方法。

  1. /**
  2. * created by Chaitanya for Beginnersbook.com
  3. */
  4. package beginnersbook
  5. fun main(args : Array<String>){
  6. var str1 = "BeginnersBook"
  7. var str2 = "beginnersbook"
  8. /**
  9. * true if equals, otherwise false
  10. */
  11. println("String Equals? : ${str1.equals(str2)}")
  12. /**
  13. * 0 if equals, otherwise false
  14. */
  15. println("String Equals? : ${str1.compareTo(str2)}")
  16. }

输出:

Kotlin 字符串 - 图2

访问特定索引处的字符串中的字符

我们可以使用get()方法从字符串中的特定索引获取字符,该方法等同于 Java 的charAt()方法

  1. /**
  2. * created by Chaitanya for Beginnersbook.com
  3. */
  4. package beginnersbook
  5. fun main(args : Array<String>){
  6. var str = "BeginnersBook"
  7. println("3rd Index: ${str.get(3)}")
  8. /**
  9. * Another way of doing the same
  10. * This is the recommended way
  11. */
  12. println("3rd Index: ${str[3]}")
  13. }

输出:

  1. 3rd Index: i
  2. 3rd Index: i

子串

我们可以使用subSequence()方法在 Kotlin 中显示子字符串。我们可以在subSequence(fromIndex, toIndex)方法中提供fromIndextoIndex,其中fromIndex是包含性的,toIndex是排他性的。

  1. /**
  2. * created by Chaitanya for Beginnersbook.com
  3. */
  4. package beginnersbook
  5. fun main(args : Array<String>){
  6. var str = "BeginnersBook"
  7. /**
  8. * Here fromIndex is inclusive and
  9. * toIndex is exclusive which means
  10. * 5th index char will not be included
  11. */
  12. println("Index from 2 to 5: " +
  13. str.subSequence(2,5))
  14. }

输出:

  1. Index from 2 to 5: gin

检查String是否包含另一个String

我们可以使用contains()方法来检查给定的字符串是否包含指定的字符串。让我们举个例子来理解contains()的用法

  1. /**
  2. * created by Chaitanya for Beginnersbook.com
  3. */
  4. package beginnersbook
  5. fun main(args : Array<String>){
  6. var str = "beginnersbook.com"
  7. println("Contains .com: ${str.contains(".com")}")
  8. }

输出:

Kotlin 字符串 - 图3