我需要在两个特定的字符串变量之间提取一个字符串。例如,考虑字符串x1-676y1-44z188x2-623y2-67z274
。现在我需要检测字符串中的x1
和y1
,获取x1
和y1
之间的所有数据,并将其存储为字符串而不是字符。同样,在y1
和z1
以及其他变量之间获取数据。
以下是我尝试的代码:
bytes = mmInStream.read(buffer);
String str = new String(buffer, "UTF-8"); // prints character
Log.d("Data Transmitted", str);
StringBuffer sb = new StringBuffer(str);
int a=sb.indexOf("x1");
char x1=sb.charAt(a+1);
System.out.println(x1);
int b=sb.indexOf("y1");
char y1=sb.charAt(b+1);
System.out.println(y1);
答案 0 :(得分:1)
s.substring(s.indexOf("A"), s.indexOf("B"))
答案 1 :(得分:1)
您可以使用substring
方法:
int x1pos = str.indexOf("x1");
int y1pos = str.indexOf("y1");
if (x1pos >= 0 && x1pos <= str.length() - 2 && y1pos >= 0 && y1pos > x1pos) {
String between = str.substring(x1pos+2,y1pos);
}
else {
//do something else
}