我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JAVA怎么删除字符串固定下标字串

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JAVA怎么删除字符串固定下标字串

本篇内容主要讲解“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);        List<Integer> 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怎么删除字符串固定下标字串”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JAVA怎么删除字符串固定下标字串

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JAVA怎么删除字符串固定下标字串

本篇内容主要讲解“JAVA怎么删除字符串固定下标字串”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JAVA怎么删除字符串固定下标字串”吧!需要修改的报文当你拿到的报文是这样的{ "inpu
2023-07-06

JAVA如何删除字符串固定下标字串

本篇内容主要讲解“JAVA如何删除字符串固定下标字串”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JAVA如何删除字符串固定下标字串”吧!需要修改的报文当你拿到的报文是这样的{ "inpu
2023-07-06

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

本文主要介绍了JAVA删除字符串固定下标字串的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-15

php字符串如何删除固定元素

这篇文章主要介绍“php字符串如何删除固定元素”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php字符串如何删除固定元素”文章能帮助大家解决问题。什么是字符串在 PHP 中,字符串是一些字符序列,可
2023-07-05

c语言字符串怎么删除指定字符

要删除一个指定的字符,可以使用两个指针来遍历字符串,并将不需要删除的字符保留下来。下面是一个示例程序:#include #include void removeChar(char *str, cha
c语言字符串怎么删除指定字符
2024-03-01

java中怎么用stringbuffer删除指定字符串

在Java中,可以使用StringBuffer的delete()方法来删除指定字符串。以下是一个示例代码:StringBuffer sb = new StringBuffer("Hello World");String strToRem
java中怎么用stringbuffer删除指定字符串
2024-02-29

PHP怎么删除指定的字符串

这篇文章主要介绍“PHP怎么删除指定的字符串”,在日常操作中,相信很多人在PHP怎么删除指定的字符串问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP怎么删除指定的字符串”的疑惑有所帮助!接下来,请跟着小编
2023-07-05

php怎么删除字符串中的指定子串

PHP中删除字符串中的指定子串方法:1.str_replace():替换匹配子串为空字符串。2.preg_replace():使用正则表达式匹配和删除子串。3.substr_replace():替换指定范围的字符,包括子串。其他方法:explode()+array_diff()+implode()str_pad()+substr()自定义函数选择方法取决于字符串复杂性和性能需求。
php怎么删除字符串中的指定子串
2024-04-25

php怎么删除字符串中的指定子串

方法:1、利用str_replace()以区分大小写的方式删除,语法“str_replace(子串,'',字符串)”;2、利用str_ireplace()以不区分大小写的方式删除,语法“str_ireplace(子串,'',字符串)”。
2022-01-07

使用javascript怎么删除字符串中指定字符

这篇文章给大家介绍使用javascript怎么删除字符串中指定字符,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JavaScript的特点1.JavaScript主要用来向HTML页面添加交互行为。2.JavaScri
2023-06-14

mysql怎么删除字符串后的字符

在MySQL中,可以使用SUBSTRING函数来删除字符串后的字符。以下是一个示例:假设有一个名为str的表,其中有一个名为text的字段,存储了需要删除字符串后的字符的值。UPDATE strSET text = SUBSTRING
mysql怎么删除字符串后的字符
2024-05-11

c语言怎么删除字符串中的指定字符

在C语言中,可以通过循环遍历字符串并判断字符是否是指定字符,然后将非指定字符复制到新的字符串中,从而删除字符串中的指定字符。以下是一个示例代码:```c#include #include void removeChar(char *str,
2023-08-16

使用python怎么删除字符串中指定的字符

使用python怎么删除字符串中指定的字符?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的
2023-06-14

怎么在php中删除指定字符串

怎么在php中删除指定字符串?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。方法1:str_replace() 函数str_replace() 函数替换字符串中的一些字符(区分大
2023-06-15

matlab怎么删除字符串中某个字符

要删除字符串中的某个字符,可以使用以下方法:1. 使用`strrep`函数:`newStr = strrep(str, '要删除的字符', '')`。这将返回一个新的字符串`newStr`,其中删除了所有匹配的字符。2. 使用`replac
2023-09-12

php字符串怎么删除后两位字符

方法:1、使用substr(),语法“substr(字符串,0,-2)”;2、用substr_replace(),语法“substr_replace(字符串,"",-2,2)”;3、用rtrim(),语法“rtrim(字符串,“字符”)”。
2016-07-19

python怎么删除字符串的特殊字符

本篇内容主要讲解“python怎么删除字符串的特殊字符”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么删除字符串的特殊字符”吧!说明1、strip()删除字符串前后(左右两侧)的空
2023-06-20

sql中怎么删除字符串

在 sql 中,可以使用以下函数删除字符串中的字符:1. substr() 截取子字符串;2. replace() 替换子字符串;3. ltrim() 删除左空格;4. rtrim() 删除右空格。SQL 中删除字符串在 SQL 中,可以
sql中怎么删除字符串
2024-05-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录