我知道如何计算出字符串中某个字符或数字的索引,但是否有任何预定义的方法可以用来给我第n个位置的字符?所以在字符串“foo”中,如果我请求索引为0的字符,它将返回“f”。

注意——在上面的问题中,我所说的“字符”并不是指字符数据类型,而是字符串中的字母或数字。这里重要的是,当方法被调用时,我没有接收到一个字符,而是一个字符串(长度为1)。我知道substring()方法,但我想知道是否有一个更整洁的方法。


当前回答

你需要。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));

为例。

其他回答

使用CodePointAt而不是charAt更安全。当字符串中有表情符号时,charAt可能会中断。

我昨天遇到了这个问题,我知道这已经接受了答案,只是想在javascript场景中添加一个解决方案,可以帮助像我这样正在寻找这个问题的人

let name = 'Test' console.log[2](名字) //在这里的索引2,我们有's'的值,这将简单地给出期望的输出

是这样的:

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.