我知道如何计算出字符串中某个字符或数字的索引,但是否有任何预定义的方法可以用来给我第n个位置的字符?所以在字符串“foo”中,如果我请求索引为0的字符,它将返回“f”。
注意——在上面的问题中,我所说的“字符”并不是指字符数据类型,而是字符串中的字母或数字。这里重要的是,当方法被调用时,我没有接收到一个字符,而是一个字符串(长度为1)。我知道substring()方法,但我想知道是否有一个更整洁的方法。
我知道如何计算出字符串中某个字符或数字的索引,但是否有任何预定义的方法可以用来给我第n个位置的字符?所以在字符串“foo”中,如果我请求索引为0的字符,它将返回“f”。
注意——在上面的问题中,我所说的“字符”并不是指字符数据类型,而是字符串中的字母或数字。这里重要的是,当方法被调用时,我没有接收到一个字符,而是一个字符串(长度为1)。我知道substring()方法,但我想知道是否有一个更整洁的方法。
当前回答
如果有人正在与kotlin作斗争,代码是:
var oldStr: String = "kotlin"
var firstChar: String = oldStr.elementAt(0).toString()
Log.d("firstChar", firstChar.toString())
这将返回位置1的char,在这里是k 记住,索引从位置0开始,所以在这个示例中: Kotlin将是k=位置0,o=位置1,t=位置2,l=位置3,i=位置4,n=位置5
其他回答
你需要。charat ()
这是一个教程
"mystring".charAt(2)
回报的年代
如果你执意要使用字符串,有几种方法可以将char转换为字符串:
String mychar = Character.toString("mystring".charAt(2));
Or
String mychar = ""+"mystring".charAt(2);
甚至
String mychar = String.valueOf("mystring".charAt(2));
为例。
考虑到您的需求,使用substring()非常困难。标准的方法是charAt(),但您说过不接受char数据类型。
如果有人正在与kotlin作斗争,代码是:
var oldStr: String = "kotlin"
var firstChar: String = oldStr.elementAt(0).toString()
Log.d("firstChar", firstChar.toString())
这将返回位置1的char,在这里是k 记住,索引从位置0开始,所以在这个示例中: Kotlin将是k=位置0,o=位置1,t=位置2,l=位置3,i=位置4,n=位置5
使用CodePointAt而不是charAt更安全。当字符串中有表情符号时,charAt可能会中断。
它是如此简单:
String charIs = string.charAt(index) + "";