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