• 首页
  • 粮食
  • 蔬菜
  • 果品
  • 水产
  • 酒水
  • 饮料
  • 茶叶
  • 畜禽
  • 食用油
  • 资讯
logo
  • 首页>
  • 果品 >
  • 正文

JAVA删除字符串固定下标字串的实现

2023-04-12 05:58:53 来源:脚本之家


(资料图片)

目录
需要修改的报文实现代码如下多存在多个不符合规定的数据然后你要删掉怎么操作呢?实现代码如下

此解决方式在企业中有所应用,适合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);
        }
    }

多存在多个不符合规定的数据然后你要删掉怎么操作呢?

这也很简单,如果你看了这一篇文章,你要更好的解决方式,期待一起探讨,学习进步(^-^)V

当你拿到的报文是这样的。

{
    "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);
        List list = 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删除字符串固定下标字串的实现的文章就介绍到这了,更多相关JAVA删除下标字串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

关键词:

    为您推荐

  • JAVA删除字符串固定下标字串的实现

    果品2023-04-12
  • 4月11日基金净值:国泰金福三个月定开混合最新净值0.7335,跌0.46% 世界快资讯

    果品2023-04-12
  • 菱角怎样晒干,是剥壳还是不剥,要不要煮熟?

    果品2023-04-11
  • 五连冠!湖南商务职业技术学院获评2022年湖南省普通高等学校就业创业工作 “一把手工程”优秀单位|全球快播报

    果品2023-04-11
  • 实时:亚香股份:截止2023年4月10日公司的股东人数为5446户

    果品2023-04-11
  • 焦点快报!2023年郑开马拉松半程起点和终点和发令时间

    果品2023-04-11
  • 天天速读:随笔:美再三炒作新冠溯源用心险恶

    果品2023-04-11
  • 当前视点!“金三”成交达近一年高位 库存降至18.4个月

    果品2023-04-11
  • 深圳南山灵活就业社保怎么办理,灵活就业人员该如何交社保?|环球头条

    果品2023-04-11
  • 中汽协:建议继续出台促进汽车消费政策,进一步激发市场活力

    果品2023-04-11
  • 鸽子认识主人要多久(养鸽子的人容易得怪病)

    果品2023-04-11
  • 全球百事通!红安一中成绩查询(红安一中分数查询)

    果品2023-04-11
  • 杜兰特22战21胜太狠!KD能彻底改变太阳?37岁保罗因他变更准

    果品2023-04-11
  • 已注册的驰名商标可以实现跨类保护吗?商标注册每年都要交钱吗?

    果品2023-04-11
  • 擎科落子金坛助推核酸药物发展,“擎核TsiKer”高载量合成仪发布

    果品2023-04-11
  • 当面一套背后一套!安赛龙故意蒙蔽中国球迷,网友:以后支持他输

    果品2023-04-11
  • 焦点热讯:辽宁聚焦突出问题整顿规范法律服务市场秩序

    果品2023-04-11
  • 环球微动态丨河南以“万人助万企”活动为抓手 全方位援企纾困激发活力

    果品2023-04-11
  • 焦点要闻:全球加速“去美元化”探索(环球热点)

    果品2023-04-11
  • 跳棋的玩法图解_跳棋的玩法

    果品2023-04-11

果品

  • JAVA删除字符串固定下标字串的实现
  • 4月11日基金净值:国泰金福三个月定开混合最新净值0.7335,跌0.46% 世界快资讯
  • 菱角怎样晒干,是剥壳还是不剥,要不要煮熟?
  • 五连冠!湖南商务职业技术学院获评2022年湖南省普通高等学校就业创业工作 “一把手工程”优秀单位|全球快播报
  • 实时:亚香股份:截止2023年4月10日公司的股东人数为5446户

蔬菜

  • 说好“一梯一户”却成了“两梯两户”,买方能否解除合同?
  • 更高水平开放合作助力中国东盟经贸发展迎新机遇
  • 9被告人犯侵犯著作权罪被判刑罚
  • 玉渊谭天丨中美再通话,“建设性”很重要
  • 环球时报社评:中美经贸需要建设性对话
  • 俄媒:莫斯科扩大新冠感染新疗法试点范围
  • 冰雪之约 中国之邀 | 追赶的勇气
  • 中国第20批赴黎维和建筑工兵分队完成“VA-2”道路排水系统修缮任务
  • 中国常驻联合国代表团举办恢复联合国合法席位50周年图片展
  • 美专家认为三大原因导致美国供应链危机

Copyright   2015-2022 世纪食品网 版权所有  备案号:京ICP备2021034106号-22   联系邮箱:55 16 53 8@qq.com