Java 从字符串中提取特定部分

Java 从字符串中提取特定部分,java,Java,我有下面的字符串变量 String s = "abc,xyz,lmn,ijk"; 我只想提取字符串的部分(即-'lmn') 而且,不应该使用内置函数,如,SubString()、Split()、IndexOf()。但我可以使用charArray() 这个问题是在我的采访中被问到的 我试过下面的代码, 但不知道如何进行。有人能提供你的想法吗 String s = "abc,xyz,lmn,ijk"; int counter = 0; char[] ch = s.toCh

我有下面的
字符串
变量

String s = "abc,xyz,lmn,ijk";
我只想提取字符串的部分(
即-'lmn'

而且,不应该使用内置函数,如,
SubString()、Split()、IndexOf()。
但我可以使用
charArray()

这个问题是在我的采访中被问到的

我试过下面的代码, 但不知道如何进行。有人能提供你的想法吗

    String s = "abc,xyz,lmn,ijk";
    int counter = 0;

    char[] ch = s.toCharArray();
    for (int i = 0; i < ch.length; i++) {
        if (ch[i] == ',') {
            counter++;
        }

    }
String s=“abc、xyz、lmn、ijk”;
int计数器=0;
char[]ch=s.toCharArray();
for(int i=0;i
这里有一种方法:

public static void main(String[] args) {
    String s = "abc,xyz,lmn,ijk";
    char[] ch = s.toCharArray();
    int counter = 0;
    int place = 2;

    for (int i = 0; i < ch.length-2; i++) {
        if(ch[i] == ',') {
            counter++;
        }
        if(counter == place && ch[i] != ',') {
            System.out.print(ch[i]);
        }
    }
}
publicstaticvoidmain(字符串[]args){
字符串s=“abc、xyz、lmn、ijk”;
char[]ch=s.toCharArray();
int计数器=0;
int place=2;
对于(int i=0;i
它在第二个逗号之后,但在第三个逗号之前打印所有内容。

publicstaticvoidmain(String[]args){
public static void main(String[] args) {
    // TODO Auto-generated method stub
    String s = "abc,xyz,lmn,ijk";
    StringBuffer sb=new StringBuffer();
    char[] ch = s.toCharArray();

    for (int i = 0; i < ch.length; i++) {
        if(','==(ch[i]))
        {
            if (sb.toString().equals("lmn")) {
                System.out.println(sb.toString());
            }
            else
            {
                int length=sb.length();
                sb.delete(0, length);
            }

        }
        else
        {
            sb.append(ch[i]);
        }


    }

}
//TODO自动生成的方法存根 字符串s=“abc、xyz、lmn、ijk”; StringBuffer sb=新的StringBuffer(); char[]ch=s.toCharArray(); for(int i=0;i
我会这样做

String s = "abc,xyz,lmn,ijk"; 
String x = "c,x"; // String to found
String r = "";

boolean coincidence = false;

int a=0; // Initial index if of the first character in x is found
int b=0; // Last index If it was possible to search for the last character of x
int c=0; // Index "iterator" on String x

char[] ch = s.toCharArray();
for (int i = 0; i < ch.length; i++) {
  if(c == x.length())
    break;
  else{
    if(ch[i] == x.charAt(c) && !coincidence){
      a = i; b = i; c++;
      coincidence = true;
    }
    else if(ch[i] == x.charAt(c) && coincidence){
      b++; c++;
    }else{
      coincidence = false;
      a = 0; b = 0; c = 0;
    }
  }
}

System.out.println("String: " + s);
System.out.println("String to find: " + x);
System.out.println("Was found? " + ((coincidence)? "Yes" : "No"));

if(coincidence){
  System.out.println("Intervals indexes in String: ["+a + "," + b +"]");
  // String extration
  for (int i = a; i <= b; i++) 
    r += s.charAt(i);

  System.out.println("String extracted: " + r);
}
String s=“abc、xyz、lmn、ijk”;
字符串x=“c,x”;//要找到的字符串
字符串r=“”;
布尔符合=假;
int a=0;//找到x中第一个字符的初始索引
int b=0;//最后一个索引,如果可以搜索x的最后一个字符
int c=0;//索引字符串x上的“迭代器”
char[]ch=s.toCharArray();
for(int i=0;i对于(int i=a;我有没有试过使用调试器查看发生了什么?在面试中?真的,bcz闻起来像homework@rabbitguy-你有解决方案吗?你能连接字符串吗?输入是什么?这是问一个特定的字符串还是索引?实际上,我想从该字符串中获取第三个元素。在这种情况下,它应该d是'lmn',但它可以是其他任何字符,基本上,我想得到第三个逗号(,)的位置,从那里我想迭代并得到每个字符,直到找到下一个为止comma@Aishu好的,我已经修复了我的帖子。如果你想打印不同的3封信,就换个地方。现在可以接受吗?