Java: 字符串indexOf() /substring()/replace() 的使用

news2024/9/23 17:11:38

需要做的: 

获取如下图响应信息html页面中的

fec7f1e4-30e0-41d1-9417-bb4829be51dc 值

一.具体思路:

(1)字符串查找

indexOf()其实就是在字符串中查找其子串第一次出现的位置,如果没有找到该子串,则返回-1
四种用法:
1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :从结尾向左搜索,返回在此字符串中第一次出现的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向左搜索,返回在此字符串中第一次出现的指定子字符串的索引。

(2)字符串截取

substring() 方法返回字符串的子字符串。可以理解为字符串截取

语法

public String substring(int beginIndex)

public String substring(int beginIndex, int endIndex)

参数

  • beginIndex -- 起始索引(包括)。

  • endIndex -- 结束索引(不包括)。

注意:这两个参数都为int类型

返回值

子字符串。

(3)字符串替换

replace() 方法通过用 newChar 字符替换字符串中出现的所有 searchChar 字符,并返回替换后的新字符串。

语法

public String replace(char searchChar, char newChar)    

参数

  • searchChar -- 原字符。

  • newChar -- 新字符。

返回值

替换后生成的新字符串。

二.代码实操

先来看响应html

响应获取

 <meta name="_csrf" content="55348f4b-a6f1-4db8-bb3a-677255d987c7"/>

的55348f4b-a6f1-4db8-bb3a-677255d987c7值

具体方法如下:

  public static String getCrsf(String resoust){
        String a = "/>\n" +
                "    <meta name=\"_csrf_header\"";
        int index = resoust.indexOf(a);
        String str1 = resoust.substring(0,index);
        System.out.println("-------------------------str1--------------------"+str1);


        int index2 = str1.indexOf("_csrf\" content=\"");
        String str2 = str1.substring(index2);
        System.out.println("-------------------------str2--------------------"+str2);

        int index3 = str2.indexOf("=\"");
        String str3 = str2.substring(index3);

        System.out.println("-------------------------str3--------------------"+str3);

        int index4 = str3.indexOf("\"");
        String str4 = str3.substring(index4);
        str4=str4.substring(1);
        System.out.println("-------------------------str4--------------------"+str4);

        String str5=str4.replace("\"","");
        System.out.println("-------------------------str5--------------------"+str5);


        return str5;
    }

来看下结果:

 

 str3就是想要的结果:

哈哈哈哈------------str3-----------=a01eb715-8663-46b2-adc1-eb8d3d4906a4

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/67379.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三面“有赞”Java岗斩获offer:Spring+JVM+并发锁+分布式+算法

年末离职&#xff0c;年初为面试也筹备挺长一段时间&#xff0c;找了不少复习资料&#xff0c;刷了很多题在网上投了很多简历最终面试了有赞&#xff0c;还有幸拿到offer&#xff01; 本人两年Java开发&#xff0c;本科毕业&#xff0c;计算机专业&#xff0c;勤学好问、积极上…

BM(Boyer-Moore) 算法详解

BM算法(Boyer-Moore) BM算法也叫做精确字符集算法&#xff0c;它是一种从右往左比较&#xff08;后往前&#xff09;&#xff0c;同时也应用到了两种规则坏字符、好后缀规则去计算我们移动的偏移量的算法。 坏字符规则 BM 算法是从后往前进行比较&#xff0c;此时我们发现比…

ArcGIS基础:不同方法修改栅格数据像元值

【1】&#xff1a;根据值修改栅格值 原始数据如下所示&#xff1a; 是一个栅格数据&#xff0c;分为三种不同的颜色&#xff0c;三种颜色代表三个不同的数值&#xff0c;如下所示&#xff1a; 如下所示&#xff0c;为1、2、3三个不同值。 下面将栅格值为1 的数据的数值替换…

5年测试,面试结束后被HR怼了..(心塞)

前一阵子向朋友诉苦&#xff0c;我在参加字节跳动面试的时候被面试官怼得哑口无言&#xff0c;场面让我一度十分尴尬。印象最深的就是下面几个问题&#xff1a; 根据你以前的工作经验和学习到的测试技术&#xff0c;说说你对质量保证的理解&#xff1f;非关系型数据库和关系型数…

【免杀前置课——Windows编程】十五、网络编程——C/S,B/S模式分别是什么?WinSocket、Socket传输的定义和其特点、实现简易通信(附代码)

网络编程网络编程C/S:客户端/服务器模式:B/S:浏览器/服务器架构模式。WinSocket:Socket传输的定义和其特点实现简易通信服务器端客户端网络编程 网络分为C/S,B/S两种模式。 C/S:客户端/服务器模式: 服务器端&#xff1a; 首先服务器先启动&#xff0c;并根据客户端请求做出相…

Pytest 的高级用法之插件开发

用过pytest的小伙伴应该都知道&#xff0c;pytest之所以功能强大&#xff0c;是因为pytest的插件非常的多。这是插件大多是pytest的使用者所开发的&#xff0c;今天咱们专门来聊聊如何去自己开发Pytest的插件。 一 pytest插件的介绍 pytest框架采用的是插件系统的模式来设计的…

安装VMware

大纲&#xff1a; 一、VMware简介 VMWare虚拟机软件是一个“虚拟PC”软件&#xff0c;它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。 二、VMware摘要笔记 三、VMware安装步骤 1、将VMware Workstation 16 Pro解压后 双击运行第二个应用程序(player)进行…

精品基于springboot的线上跳蚤市场平台

《线上跳蚤市场平台》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等 使用技术&#xff1a; 开发语言&#xff1a;Java 框架&#xff1a;springboot(ssm) 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&a…

Android 中的权限

1、权限类型 Android 将权限分为不同的类型&#xff0c;包括安装时权限、运行时权限和特殊权限。每种权限类型都指明了当系统授予应用该权限后&#xff0c;应用可以访问的受限数据范围以及应用可以执行的受限操作范围。每项权限的保护级别取决于其类型。 1.1、安装时权限 安…

智慧农业发展,商业计划书撰写,商业模式,ppt亮点

目录 什么是商业模式 中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要_滚动新闻_中国政府网 第五篇 加快数字化发展 建设数字中国 第十五章 打造数字经济新优势 第十六章 加快数字社会建设步伐 第十七章 提高数字政府建设水平 第十八章 营造…

Linux下载安装 RabbitMQ​

压缩包&#xff1a;RabbitMQ-Linux版-Java文档类资源-CSDN下载 一、官网下载&#xff1a; 1、需要先下载RabbitMQ所需要的erl语言环境 官网地址&#xff1a;Downloads - Erlang/OTP 2、下载MQ 官网&#xff1a;Messaging that just works — RabbitMQgithub地址&#xff1a;…

一篇文章,教你彻底掌握接口测试!

Part 01、什么是接口测试 所谓接口&#xff0c;是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据库的对接。而接口测试&#xff0c;则是通过接口的不同情况下的输入&#xff0c;去对比输出&#xff0c;看看是否满足接口规范所规定的功能、安全以及…

【设计模式】外观模式(Facade Pattern)

外观模式属于结构型模式&#xff0c;主要解决客户程序访问复杂程序中的多个子程序而产生的高耦合度及高复杂度问题&#xff0c;根本目的在于简化接口的调用。例如我们去医院看病&#xff0c;可能要去挂号、门诊、划价、取药&#xff08;子系统角色&#xff09;&#xff0c;这让…

Redis主从复制、哨兵模式、集群模式

文章目录一、Redis主从复制主从复制流程Redis主从复制的作用二、哨兵模式1、哨兵模式集群架构2、哨兵模式主要功能3、哨兵监控整个系统节点的过程4、主观下线5、客观下线6、master 选举7、故障迁移8、优点与缺点三、Cluster群集1、集群的作用2、Redis集群的数据分片四、实验一&…

Linux||使用vi编辑器按上下键输出字母

一、问题描述 在终端执行sudo命令时&#xff0c;系统提示“vboxuser is not in the sudoers file.This incident will be reported”&#xff0c;因此需要修改/etc/sudoers文件。 使用Linux自带的vi编辑器修改/etc/sudoers文件时候&#xff0c;按i键进入编辑模式。使用键盘上下…

SD-Branch多分支组网解决方案

一、多分支组网建设背景 多分支一般是指行政上由总部和分支单位组成&#xff0c;总部和各分支处在地域不同的区域&#xff1b;由于业务访问需要&#xff0c;组网要求“总部-分支”互联打通。多分支网络组网方案主要针对的是总分企业、金融网点、连锁酒店、连锁门店、商超地产、…

组合预测 | MATLAB实现基于BP-Adaboost强分类器多特征分类预测

组合预测 | MATLAB实现基于BP-Adaboost强分类器多特征分类预测 目录 组合预测 | MATLAB实现基于BP-Adaboost强分类器多特征分类预测预测效果基本介绍模型特性程序设计参考资料预测效果 基本介绍 MATLAB实现基于BP-Adaboost强分类器多特征分类预测。在集成学习-Boosting,Bagging…

如何建立公司网站?【公司网站建设】

现在很多实体公司企业都会做一个自己的公司网站&#xff0c;毕竟一个网站等同于一张在互联网中的名片&#xff0c;可以让更多客户了解到你。那么如何建立公司网站&#xff1f;流程步骤大概是什么&#xff1f;今天给大家简单讲解一下。 一、注册域名 这个域名是就是网址&#…

学编程:Python入门考级必备[8]

目录 知识模块(8) 列表知识——井然有序 1.列表的创建 2.列表访问(查找操作) 3.列表增加操作 4.列表删除操作 5.统计与计算 附件代码&#xff1a; 炼 知识模块(8) 列表知识——井然有序 知识模块(8) 列表知识——井然有序 1.列表的创建 1.1 空列表&#xff1a; lie …

[Linux](16)网络编程:网络概述,网络基本原理,套接字,UDP,TCP,并发服务器编程,守护(精灵)进程

文章目录网络协议初识OSI 七层模型TCP/IP 四层(或五层)模型IP、MAC、端口号TCP 协议与 UDP 协议套接字套接字地址结构socket 函数bind 函数recvfrom 函数sendto 函数UDP 通信实现服务端客户端TCP 通信实现服务端listen 函数accept 函数实现客户端connect 函数实现改进&#xff…