在String中查找各种char

时间:2013-02-10 13:38:40

标签: java string char

我有一个基本的String变量,其中包含字母x总共三次。 我试图使用charAt在String中找到x,然后打印char和它旁边的下两个字符。

我在我的代码中遇到了障碍,并希望得到任何帮助。

这是我的代码。

public class StringX{
    public static void main(String[] args){
        String ss = "xarxatxm";
        char first = ss.charAt(0);
        char last == ss.charAt(3);

        if(first == "x"){ 
            String findx = ss.substring(0, 2);
        }
        if(last == "x"){
            String findX = ss.substring(3, 5);
        }

        System.out.print(findx + findX);
    }
}

另外,有没有办法实现for循环遍历String寻找x呢?

我只需要一些建议,看看我的代码出错了。

1 个答案:

答案 0 :(得分:2)

您无法使用charAt找到字符 - 一旦您知道某个字符的位置,就会获取字符。

  

有没有办法实现for循环遍历String寻找x呢?

您需要使用indexOf来查找字符位置。通过初始位置,该位置是您到目前为止找到的最后一个x的位置,以获得后续位置。

例如,下面的代码

String s = "xarxatxm";
int pos = -1;
while (true) {
    pos = s.indexOf('x', pos+1);
    if (pos < 0) break;
    System.out.println(pos);
}

prints 0 3 6表示字符串中'x'的三个位置。