首页 > 编程语言 >【Java】自定义字符串方法——根据开始和结束字符串,截取字符串

【Java】自定义字符串方法——根据开始和结束字符串,截取字符串

时间:2025-01-08 10:52:13浏览次数:1  
标签:Java String 自定义 截取 endStr startStr str 字符串

 1 /**
 2  * 根据开始和结束字符串,截取字符串
 3  * @param str 被截取的字符串
 4  * @param startStr 起始字符串(最后一次出现的起始值)
 5  * @param endStr 结束字符串(最后一次出现的结束值)
 6  * @return
 7  */
 8 public static String substring(String str, String startStr, String endStr){
 9     int endSize = endStr.length();         // 截取的尾部长度
10     int startIndex = str.lastIndexOf(startStr); // 截取字串开始位置
11     int endIndex = str.lastIndexOf(endStr);     // 截取字符串结束位置
12     return str.substring(startIndex, endIndex + endSize);
13 }

 测试代码

1 public void testSub(){
2     String str = "<subForms><subForm><definitions><column id=\"field0003\" type=\"0\" name=\"文本1\" isNullable=\"false\" length=\"100\"/><column id=\"field0004\" type=\"0\" name=\"文本3\" isNullable=\"false\" length=\"100\"/></definitions><values><row><column name=\"文本1\"><value><![CDATA[{文本1}]]></value></column><column name=\"文本3\"><value><![CDATA[{文本3}]]></value></column></row></values></subForm></subForms>";
3     String  startStr = "<row>";
4     String  endStr = "</row>";
5     String result =StringUtils.substring(str,startStr,endStr);  // 调用方法
6     System.out.println(result); // 运行结果 :<row><column name="文本1"><value><![CDATA[{文本1}]]></value></column><column name="文本3"><value><![CDATA[{文本3}]]></value></column></row>
7 }

运行结果:

 

标签:Java,String,自定义,截取,endStr,startStr,str,字符串
From: https://www.cnblogs.com/luyj00436/p/18659183

相关文章

  • 假如你想自定义一个网络协议
    一、引言在当今数字化时代,网络通信无处不在。虽然现有的TCP/IP协议簇已广泛应用且极为成熟,但在某些特定场景下,如工业控制网络、科研专用网络、对安全性和性能有特殊要求的军事通信等领域,自定义网络协议具有独特优势。它能够根据具体需求精细优化网络性能、强化安全保障、适......
  • java中反射的基本使用
    一、参考文档:https://www.cnblogs.com/chanshuyi/p/head_first_of_reflection.htmlchatgpt问答 二、前言反射是java的一个特性,是java提供的一种机制。反射允许程序在运行时查询和操作类的信息。反射对很多高级功能(框架设计、动态代理等)都很有用。反射提供了很多......
  • Java实现回文排列问题的探讨
    Java实现回文排列问题的探讨在编程的世界里,解决一个具体问题往往有多种方法,而选择合适的方法不仅能提高代码的效率,还能让代码更加优雅易懂。今天,我们就来探讨一下如何使用Java语言来解决一个有趣的问题——回文排列问题。问题描述回文排列问题源自LeetCode的第266题,它要求我们......
  • Java中将特征向量转换为矩阵的实现
    哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。  我是一名后端开发爱好者......
  • Java实现《七星传说》游戏开发详解
    哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。  我是一名后端开发爱好者......
  • JAVA线程池有哪些队列? 以及它们的适用场景案例
    大家好,我是V哥。在高并发应用场景下,线程池的使用是必然的,那在线程中的队列都有哪些呢?下面V哥整理的几种常见的线程池队列以及适用场景案例,分享给大家。线程池中的队列主要用于存放等待执行的任务,以下是几种常见的线程池队列:1.无界队列(UnboundedQueue)LinkedBlockingQueue......
  • “Java岗八股文”2025版史上最新最全超详细易理解,面试必备(一)Spring篇
    Spring篇文章目录Spring篇1、Spring框架中的单例bean是线程安全的吗?2、什么是AOP,你们项目中有没有使用到AOP?3、Spring中的事务是如何实现的?4、什么是AOP5、你们项目中有没有使用到AOP6、Spring中的事务是如何实现的7、Spring中事务失效的场景有哪些8、Spring的bean的生......
  • JavaWeb—Servlet详解
    前言:        本章节主要学习Servlet基础知识点,收录于JavaWeb系列,该系列主要讲解Servlet、JSP、Filter过滤器、Session、分层开发概念等知识点,欢迎童鞋们互相交流。觉得不错可以三连订阅喔。 目标:一、概念二、入门程序        1.创建Servlet类    ......
  • zabbix5.0版本 (用脚本自定义监控项+监控MySQL状态信息)
    目录1.用脚本自定义监控项(1)编写脚本进行取值(2)修改zabbix客户端配置文件(3)zabbix创建模板及监控项(4)关联至被监控主机2.监控MySQl状态信息(1)使用脚本定义监控项(2)服务端创建MySQL监控模板(3)添加触发器(4)配置图形(5)关联至被监控主机(6)测试并查看数据3.自定义监控项以及监控......
  • 理解JAVA封装.继承.多态
    JAVA面向对象的三大特征:封装,继承,多态。1.封装(1)封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现的细节,仅通过公开的接口和对象交互。封装使类成为一个具有内部属性的有隐藏功能的代码模块。通俗的理解就是将类内部的一些属性和方法隐藏起来,屏蔽细节。(2)JAVA中......