我知道如何计算出字符串中某个字符或数字的索引,但是否有任何预定义的方法可以用来给我第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
其他回答
是这样的:
String a ="hh1hhhhhhhh";
char s = a.charAt(3);
这是正确的代码。如果你使用zybooks,这将回答所有的问题。
for (int i = 0; i<passCode.length(); i++)
{
char letter = passCode.charAt(i);
if (letter == ' ' )
{
System.out.println("Space at " + i);
}
}
你可以使用字符串。charAt(int index)方法的结果作为String的参数。返回对象的值(char c)。
String.valueOf(myString.charAt(3)) // This will return a string of the character on the 3rd position.
你要找的方法是charAt。这里有一个例子:
String text = "foo";
char charAtZero = text.charAt(0);
System.out.println(charAtZero); // Prints f
有关更多信息,请参阅Java文档String.charAt。如果你想要另一个简单的教程,这个或这个。
如果不希望结果是char数据类型,而希望是字符串,则可以使用Character。toString方法:
String text = "foo";
String letter = Character.toString(text.charAt(0));
System.out.println(letter); // Prints f
如果你想了解更多关于Character类和toString方法的信息,我从Character.toString的文档中获取了我的信息。
将charAt与不获取char的要求相结合的混合方法可以是
newstring = String.valueOf("foo".charAt(0));
但说实话,这并不比substring()更“整洁”。