从java字符串中提取部分字符

2024-12-31 05:30:01
推荐回答(5个)
回答1:

可以通过java的”substring“方法截取出对应的字符串,前提是知道开始和结束的字符串的值:
String getSignInfo = reqResult.substring(reqResult.indexOf("") + 6, reqResult.indexOf(""));
解释:上述方法就是截取reqResult字符串的中开始”“和结束”“中间部分的内容,”6“就是”“的长度,,之后将获取的结果赋值给”getSignInfo进行输出即可“;
备注:以上方法通用于截取,数字”6“和开始结束字符串根据实际需要修改即可。

回答2:

可以用string类的split命令。String[] a = "Serial=1; Name=Web程序小组; ID=0001; ".split("=").split(";")
这样 a = ["Serial", "1", "Name", "Web程序小组", "ID", "0001"]
就知道a[0]是Serial, a[1]是第一个serial的值。假设第i个serial是i,那么第i个serial的值是a[i+1],name是a[i+3],ID是a[i+5]

回答3:

如果你的字符串结构是你给的这样,那么从第三个"{"开始是数据部分
char[] chars = diffgram.toCharArray();

int index = 0;
int lastLeft = 0;
int rIndex = 0;
for(int i=0; i < chars.length; i++) {
if(chars[i] == '{'){
index ++;
}

if(index >=3 && chars[i] == '}' && (index-rIndex) == 3) {
rIndex ++;
String data = new String(chars, lastLeft+1, i-lastLeft-1); //前后的括号({})去除掉,data就是你想要的
System.out.println(data);
}

if(chars[i]=='{'){
lastLeft = i;
}
}

回答4:

这个当城市地址达到一定的量的时候用正则反而麻烦,推荐一款
public class ClassExample1 { public static void main(String args[]) { // 定义地址库 List cities = new ArrayList(); // 填充数据 ...... cities.add("上海"); cities.add("芜湖"); // 待测数据 String arg = "东华大学信息科学与技术学院,上海,201620;安徽师范大学数学计算机学院,安徽,芜湖,241000"; // 提取数据 StringBuffer sb = new StringBuffer(); for (int i = 0; i < cities.size(); i++) { if(arg.contains(cities.get(i))){ sb.append(cities.get(i)+","); } } // 打印提取信息 System.out.println(sb.toString().replaceAll(",", " ")); }}
求采纳为满意回答。

回答5:

这段返回的字符串,特征明显,你提取的就是Table1=anyType最后的结果,所以可以采用字符串截取,或者正则表达式来实现。