iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java常用字符串工具类 字符串智能截取(3)
  • 291
分享到

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

java字符串截取 2023-05-31 15:05:17 291人浏览 薄情痞子
摘要

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

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

相信大家都自己封装过或者用过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); } 

--结束END--

本文标题: Java常用字符串工具类 字符串智能截取(3)

本文链接: https://www.lsjlt.com/news/226411.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Java常用字符串工具类 字符串智能截取(3)
    前两篇博文简单分享了一下数字工具类,现在说说字符串工具类。相信大家都自己封装过或者用过guava封装的Strings,但是有没有可以智能截取,比如说“截取整数第二个到倒数第二个”的字符串。你是否还需要自己写str.substring...
    99+
    2023-05-31
    java 字符串 截取
  • Java截取字符串方法
    主要有以下几种方法:     1、通过subString()方法来进行字符串截取(最常用)    2、通过StringUtils(apache的)提供的方法或者StrUtil(hutool的)    3、split()+正则表达式...
    99+
    2023-09-01
    java 开发语言
  • Python字符串截取
    1.字符串取值方式正序 说明:从左到右索引默认0开始的,最大范围是字符串长度少1 语法:[头下标:尾下标] 示例1: #!/usr/bin/python # -*- coding: UTF-8 -*- # 正序取值 mystr = 'abc...
    99+
    2023-01-31
    字符串 Python
  • Python 字符串操作之字符串的截取
    字符串的截取 字符串的截取是实际应用中经常使用的技术,被截取的部分称为“子串”。Java中使用函数substr()获取子串,C#使用函数substring()获取子串。而Python由于内置了序列,可以通过前面介绍的索引...
    99+
    2023-09-11
    python c# 开发语言
  • JS截取字符串(3种方法)
    在 JavaScript 中,有多种方法可以截取字符串。以下是三种常用的方法:1. 使用 `substring()` 方法...
    99+
    2023-09-06
    JS
  • Mysql字符串截取
    一、left()         从左边截取字符串 用法:left(str,length), 即:left(被截取字符串,截取长度) select left('fuyinghao',4);      ...
    99+
    2023-09-18
    mysql 数据库
  • php字符串截取
    一、strstr获取指定字符串之后或之前所有字符 1、使用 strstr("原始字符","指定的字符",布尔值) 布尔值为可选,为 true 返回第一次出现之前的字符串部分,默认为false 返回 返回第一次出现之前的字符串部分 str...
    99+
    2023-08-31
    php Powered by 金山文档
  • 常见字符串截取方式
    常见的字符串截取方式有以下几种:1. 使用substring方法:substring方法可以根据指定的起始位置和结束位置截取字符串。...
    99+
    2023-09-15
    字符串
  • Java中截取字符串方法
    java中对字符串进行截取 通过subString()方法来进行字符串截取,返回字符串中的子字符串,在java中有两种用法 //示例代码public static void main(String[] args) { Str...
    99+
    2023-08-16
    java 开发语言 servlet
  • java怎么根据特殊字符截取字符串
    根据特殊字符截取字符串可以使用Java的split()方法或者substring()方法。1. 使用split()方法:`...
    99+
    2023-08-16
    java
  • css怎么截取字符串
    本篇内容主要讲解“css怎么截取字符串”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css怎么截取字符串”吧! 代码如下:<h...
    99+
    2024-04-02
  • DOS如何截取字符串
    这篇文章给大家分享的是有关DOS如何截取字符串的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。为了说明截取变量中字符串的问题曾经举过如下这个例子:代码如下:@echo offset str=123456789ech...
    99+
    2023-06-08
  • Python如何截取字符串
    本文小编为大家详细介绍“Python如何截取字符串”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何截取字符串”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前言Python 提供了很多截取字符串的方...
    99+
    2023-07-02
  • 怎么用access截取字符串
    要在Access中截取字符串,可以使用Mid函数来实现。Mid函数用于从字符串的指定位置开始提取指定数量的字符。以下是使用Mid函数...
    99+
    2024-03-13
    access
  • Java如何实现截取字符串
    文章目录 0 写在前面1 .substring()2 split()+正则表达式3 StringUtils.substring()4 写在最后 0 写在前面 在实际工作...
    99+
    2023-09-11
    java 正则表达式 开发语言
  • Mysql - 字符串截取、拆分
    前言 在开发过程中,字符串的截取虽然可以在程序代码中来做,但是如果可以在 SQL 语句中处理,又不会造成 SQL 语句变的很复杂,那自然就可以在 SQL 语句中处理,速度还会更快一点。这个就需要根据具体的业务进行衡量了 概述 一、截取字符串...
    99+
    2023-08-19
    mysql 字符串截取 字符串拆分
  • HuTool_字符串工具-StrUtil
    这个工具的用处类似于Apache Commons Lang中的StringUtil 常用的方法 String str = "abCDEfghi";//是否为空boolean blank = StrUtil.isBlank(str);//fa...
    99+
    2023-08-17
    java servlet 开发语言
  • C#怎么截取字符串
    这篇文章主要介绍“C#怎么截取字符串”,在日常操作中,相信很多人在C#怎么截取字符串问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#怎么截取字符串”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!C#截取字...
    99+
    2023-06-17
  • Mysql字符串截取及获取指定字符串中的数据
    前言:本人遇到一个需求,需要在MySql的字段中截取一段字符串中的特定字符,类似于正则表达式的截取,苦于没有合适的方法,百度之后终于找到一个合适的方法:substring_index('www.sqlstu...
    99+
    2024-04-02
  • Linux字符串怎么截取
    今天小编给大家分享一下Linux字符串怎么截取的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。假设有变量 var=http:/...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作