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

Java常用字符串工具类 字符串智能截取(3)

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

Java常用字符串工具类 字符串智能截取(3)

前两篇博文简单分享了一下数字工具类,现在说说字符串工具类。

相信大家都自己封装过或者用过guava封装的Strings,但是有没有可以智能截取,比如说“截取整数第二个到倒数第二个”的字符串。你是否还需要自己写str.substring(1,str.length()-2)。如果是的话,请继续往下看吧。暂时还未见过可以反向截取字符串的。一般都是substring(str, start, end)或者substring(str, len);而这里的参数都必须是正数,否则就会报错。所以为了改善这些方法,我简单封装了一下substring这个方法,提供了4种最常用的方法:

  • subStrStart(String str, int end),正向截取
  • subStrEnd(String str, int start),反向截取
  • subStr(String str, int length),支持双向截取,length>0正向截取,<0,反向截取
  • subStr(String str, int start, int end),支持双向截取,start、length>0正向截取,<0,反向截取。

具体代码如下:

 public static String subStrStart(String str, int end){   return subStr(str, 0, end); }   public static String subStrEnd(String str, int start){   return subStr(str, str.length()-start, str.length()); }   public static String subStr(String str, int length) throws RuntimeException{   if(str==null){     throw new NullPointerException("字符串为null");   }   int len = str.length();   if(len<Math.abs(length)){     throw new StringIndexOutOfBoundsException("最大长度为"+len+",索引超出范围为:"+(len-Math.abs(length)));   }   if(length>=0){     return subStr(str, 0,length);   }else{     return subStr(str, len-Math.abs(length), len);   } }    public static String subStr(String str, int start, int end) throws RuntimeException{   if(str==null){     throw new NullPointerException("");   }   int len = str.length();   int s = 0;//记录起始索引   int e = 0;//记录结尾索引   if(len<Math.abs(start)){     throw new StringIndexOutOfBoundsException("最大长度为"+len+",索引超出范围为:"+(len-Math.abs(start)));   }else if(start<0){     s = len - Math.abs(start);   }else if(start<0){     s=0;   }else{//>=0     s = start;   }   if(len<Math.abs(end)){     throw new StringIndexOutOfBoundsException("最大长度为"+len+",索引超出范围为:"+(len-Math.abs(end)));   }else if (end <0){     e = len - Math.abs(end);   }else if (end==0){     e = len;   }else{//>=0     e = end;   }   if(e<s){     throw new StringIndexOutOfBoundsException("截至索引小于起始索引:"+(e-s));   }    return str.substring(s, e); } 

免责声明:

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

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

Java常用字符串工具类 字符串智能截取(3)

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

下载Word文档

猜你喜欢

Java常用字符串工具类 字符串智能截取(3)

前两篇博文简单分享了一下数字工具类,现在说说字符串工具类。相信大家都自己封装过或者用过guava封装的Strings,但是有没有可以智能截取,比如说“截取整数第二个到倒数第二个”的字符串。你是否还需要自己写str.substring(1,s
2023-05-31

java中如何使用substring截取字符串

在Java中,可以使用substring方法来截取字符串。substring方法有两种重载形式:1. substring(int beginIndex):从指定的索引位置开始截取字符串,截取到字符串的末尾。2. substring(int
2023-08-24

JS常用的4种截取字符串方法

在做项目的时候,经常会需要截取字符串,所以常用的方法有slice()、substr()、substring()、match()方法等,下面通过示例代码介绍四个方法的使用,感兴趣的朋友跟随小编一起看看吧
2023-02-05

java字符串与日期类型转换的工具类

常用的字符串转date,和日期转字符串的方法,具体内容如下package com.cq2022.zago.base.util; import java.text.DateFormat; import java.text.ParseExce
2023-05-30

js常用的截取字符串方法有哪些

JavaScript中常用的字符串截取方法有以下几种:1. `substring(start, end)`:截取字符串的一部分,从索引start开始到索引end结束,包括start索引但不包括end索引。2. `slice(start, e
2023-08-29

java中字符串截取的应用场景有哪些

Java中字符串截取的应用场景有很多。以下列举了一些常见的应用场景:1. 提取子字符串:从一个较长的字符串中提取出需要的部分。例如提取用户名、邮箱地址等。2. 字符串截断:截取字符串的一部分并替换原来的字符串。例如将一个长文本截断为一定长度
2023-09-22

Java常用类之字符串相关类使用详解

String、StringBuilder、StringBuffer类是Java中常用的三个字符串相关类。本文将通过示例为大家讲解一下他们的用法,需要的可以参考一下
2022-11-13

Java实现产生随机字符串主键的UUID工具类

这篇文章将为大家详细讲解有关Java实现产生随机字符串主键的UUID工具类,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文实例讲述了Java实现产生随机字符串主键的UUID工具类。分享给大家供大家参考,
2023-05-30

如何在Java中使用substring()函数截取子字符串

这篇文章给大家介绍如何在Java中使用substring()函数截取子字符串,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. substring(int beginIndex) 形式此方式用于提取从索引位置开始至结尾
2023-06-08

Java怎么实现的文本字符串操作工具类实例

这篇文章将为大家详细讲解有关Java怎么实现的文本字符串操作工具类实例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文实例讲述了Java实现的文本字符串操作工具类。分享给大家供大家参考,具体如下:pac
2023-05-30

Java使用正则表达式截取重复出现的XML字符串功能示例

本文实例讲述了Java使用正则表达式截取重复出现的XML字符串功能。分享给大家供大家参考,具体如下:public static void main(String[] args) throws DocumentException { S
2023-05-31

【Java基础教程】(三十三)常用类库篇 · 第三讲:可变字符串支持类——解析 StringBuffer与 StringBuilder类~

Java基础教程之常用类库 · StringBuffer与 StringBuilder类 1️⃣ StringBuffer类1.1 概念1.2 特征1.3 使用 2️⃣ StringBuilder类2.1 概念及特征2.2 使用
2023-08-17

编程热搜

  • 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动态编译

目录