本篇内容主要讲解“JAVA如何删除字符串固定下标字串”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JAVA如何删除字符串固定下标字串”吧!

创新互联服务项目包括瑞安网站建设、瑞安网站制作、瑞安网页制作以及瑞安网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,瑞安网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到瑞安省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
当你拿到的报文是这样的
{
"input": {
"sdfsn": "23u4209350-2",
"fsfs": "128412094",
"sgsgsg": "15821059",
"inssgsuplc_admdfdfdvs": "125125332",
"dgh": "125215312",
"dfgdfg": "215215",
"sdhdsh": "",
"sdfsn": "",
"shdfshdshdsh": "shsdh",
"sdhdsh": "shsh.0",
"shsdhsd": "1",
"shsdh": "1607",
"input": {
"data": {
"dhfsdhsd": "235325",
"shsdhsdh": "03",
"dgd": "BE0445360",
"dfhfdh": "11",
"dshshsd": 76.56,
"ghjrfgj": "01",
"grjf": "234623626",
"hjfd": "236436",
"djfdfgjdfj": "45634",
"exp_Content": "{"gdsg":"01","gjfj":"658568","fjfj":"5675467","ghfjfgkj":"68568","vmgfvj":"658568","gfhjgfyk":"0","fghkfghkg":"5474567"}",
"dfjgdfj": "",
"dfjdfjgdfj": "56745745",
"dfgjdfgjh": 45756758,
"jdfgjhfdgj": 0,
}
}
},
"output": {
"output": {
"r757": {
"dhfsdhsd": "235325",
"shsdhsdh": "03",
"dgd": "BE0445360",
"dfhfdh": "11",
"dshshsd": 76.56,
"ghjrfgj": "01",
"grjf": "234623626",
"hjfd": "236436",
"djfdfgjdfj": "45634",
"exp_content": "",
"dfjgdfj": "",
"dfjdfjgdfj": "56745745",
"dfgjdfgjh": 45756758,
"jdfgjhfdgj": 0,
},
"sdfgsdfg": [
{
"sgasgag": "4673476",
"agasgdas": 5675467,
"asgasgasg": "",
"asdgasgas": 4567456754,
"dhsdsxchsdh": 54675467,
"sdfhsdhsdh": "5674756457"
}
]
},
"erherth": 0,
}
}这一看就知道上边的报文在postman里边肯定会报错,因为exp_Content,因此他又没有用到,所以你想把他删掉。其实也没那么难删
也就是用到了流转字符串。字符串固定字符查找,然后进行字符串转字符流,删掉字符流中固定字符,之后再转回来。因为字符串已经是final了所以很多用法都是使用字符串转字符流实现的
private JSONObject resolveApplicationJson(HttpServletRequest request) {
InputStream is = null;
String json = null;
try {
is = request.getInputStream();
json = IOUtils.toString(is, "UTF-8");
json=json.replaceAll("\\r|\n|\t","");
int index= json.indexOf("exp_Content");
int indexfirst=json.indexOf("{", index);
int indexlast=json.indexOf("}",index);
if (index!=-1 && indexlast !=-1 &&indexfirst !=-1) {
StringBuffer stringBuffer = new StringBuffer(json);
stringBuffer.delete(indexfirst,indexlast+1);
json=stringBuffer.toString();
}
} catch (IOException e) {
throw new RuntimeException("CANNOT get reader from request!", e);
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
try {
return new JSONObject(json);
} catch (JSONException e) {
throw new RuntimeException("CANOT CONVET JSON:[" + json + "] to JSONObject!", e);
}
}当你拿到的报文是这样的。
{
"input": {
"sdfsn": "23u4209350-2",
"fsfs": "128412094",
"sgsgsg": "15821059",
"inssgsuplc_admdfdfdvs": "125125332",
"dgh": "125215312",
"dfgdfg": "215215",
"sdhdsh": "",
"sdfsn": "",
"shdfshdshdsh": "shsdh",
"sdhdsh": "shsh.0",
"shsdhsd": "1",
"shsdh": "1607",
"input": {
"data": {
"dhfsdhsd": "235325",
"shsdhsdh": "03",
"dgd": "BE0445360",
"dfhfdh": "11",
"dshshsd": 76.56,
"ghjrfgj": "01",
"grjf": "234623626",
"hjfd": "236436",
"djfdfgjdfj": "45634",
"exp_Content": "{"gdsg":"01","gjfj":"658568","fjfj":"5675467","ghfjfgkj":"68568","vmgfvj":"658568","gfhjgfyk":"0","fghkfghkg":"5474567"}",
"dfjgdfj": "",
"dfjdfjgdfj": "56745745",
"dfgjdfgjh": 45756758,
"jdfgjhfdgj": 0,
}
}
},
"output": {
"output": {
"r757": {
"dhfsdhsd": "235325",
"shsdhsdh": "03",
"dgd": "BE0445360",
"exp_Content": "{"gdsg":"01","gjfj":"658568","fjfj":"5675467","ghfjfgkj":"68568","vmgfvj":"658568","gfhjgfyk":"0","fghkfghkg":"5474567"}",
"dfhfdh": "11",
"dshshsd": 76.56,
"ghjrfgj": "01",
"grjf": "234623626",
"hjfd": "236436",
"djfdfgjdfj": "45634",
"exp_content": "{"gdsg":"01","gjfj":"658568","fjfj":"5675467","ghfjfgkj":"68568","vmgfvj":"658568","gfhjgfyk":"0","fghkfghkg":"5474567"}",
"dfjgdfj": "",
"dfjdfjgdfj": "56745745",
"dfgjdfgjh": 45756758,
"jdfgjhfdgj": 0,
},
"sdfgsdfg": [
{
"sgasgag": "4673476",
"agasgdas": 5675467,
"asgasgasg": "",
"asdgasgas": 4567456754,
"dhsdsxchsdh": 54675467,
"sdfhsdhsdh": "5674756457"
}
]
},
"erherth": 0,
}
}解决方式如下:根据需要写出正则表达式,再使用正则看看有几个这样的不需要的符号,然后循环遍历几次,之后找到这部分,最后删除掉。
# 全局变量 private static String REGEX = "exp_[c,C]ontent"; # 方式方法 Pattern p = Pattern.compile(REGEX); // 获取 matcher 对象 Matcher m = p.matcher(JSON); Listlist = new ArrayList(); while(m.find()){ list.add(m.start()); } int index=0; int indexfirst=0; int indexlast=0; for (int j = 0; j < list.size(); j++) { index=JSON.indexOf("exp_",indexlast); indexfirst=JSON.indexOf("{", index); indexlast=JSON.indexOf("}",index); StringBuffer stringBuffer =null; if (indexlast !=-1 &&indexfirst !=-1) { stringBuffer = new StringBuffer(JSON); stringBuffer.delete(indexfirst,indexlast+1); } JSON=stringBuffer.toString(); }
到此,相信大家对“JAVA如何删除字符串固定下标字串”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!