如何在Kotlin中将一个字符串的n个字符复制到另一个字符串?

时间:2019-01-10 14:01:11

标签: kotlin

让我们输入一个字符串var str = "Hello Kotlin"。我想将str的前5个字符复制到另一个变量strHello。我想知道这样做是否有任何功能,或者我必须应用循环并逐个复制字符。

2 个答案:

答案 0 :(得分:1)

正如Tim所言,有一个substring()方法可以做到这一点,所以您可以简单地做到:

val strHello = str.substring(0, 5)

(第一个参数是第一个要获取的字符从0开始的索引,第二个参数是要在其之前停止的字符的索引。)

在大多数常见类型上有很多可用的方法。如果您使用的是IDE(例如IDEA或Eclipse),则在键入str.后应该会弹出一个列表。 (这是使用IDE的许多良好原因之一。)或查看官方的documentation

答案 1 :(得分:0)

请使用string.take(n)实用程序。

更多详细信息,请访问 https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/take.html

我在项目中使用了substring,但是当字符串的长度小于substring的第二个索引时,它给出了一个例外。

val name1 = "This is a very very long name"

// To copy to another string
val name2 = name1.take(5)

println(name1.substring(0..5))
println(name1.substring(0..50)) // Gives EXCEPTION

println(name1.take(5))
println(name1.take(50)) // No EXCEPTION