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封信,就换个地方。现在可以接受吗?