首页 > 编程语言 >JAVA 截取字符串的三种方法 subString,StringUtils,split

JAVA 截取字符串的三种方法 subString,StringUtils,split

时间:2023-05-22 15:02:11浏览次数:66  
标签:JAVA String 截取 hello subString split 字符串 world StringUtils

JAVA 截取字符串的三种方法 subString,StringUtils,split

主要有以下几种方法:
1、通过subString()方法来进行字符串截取(最常用)
2、通过StringUtils提供的方法
3、split()+正则表达式来进行截取

 

1、通过subString()方法来进行字符串截取,返回字符串中的子字符串,在java中有两种用法
第一种,传递一个参数:

 

public String substring(int beginIndex)               
 //该子字符串从指定索引处的字符开始,直到此字符串末尾。public String substring(int beginIndex)               
 //该子字符串从指定索引处的字符开始,直到此字符串末尾。

 

 

第二种,传递两个参数:

public String substring(int beginIndex, int endIndex)  
//从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。

 

//参数说明:beginIndex -- 起始索引(包括)、endIndex -- 结束索引(不包括)。
示例代码:

public static void main(String[] args) {
    String Str = new String("hello wrold");  
    System.out.print("返回值,从第4位截取到字符串末尾 :" );
    System.out.println(Str.substring(4) );
 
    System.out.print("返回值,从第4位截取到第10位 :" );
    System.out.println(Str.substring(4, 10) );
}

 

运行结果

返回值,从第4位截取到字符串末尾 :   o wrold
返回值,从第4位截取到第10位    :   o wrol

 

2、通过StringUtils提供的方法

 

//与第一种方法效果一样
StringUtils.substring("hello world", 4);     // 返回值,从第4位截取到字符串末尾 : o wrold
StringUtils.substring("hello world", 4, 10); // 返回值,从第4位截取到第10位    :   o wrol

//截取某个字符串之前的字符
StringUtils.substringBefore("hello world", "l"); 
//结果是:he          这里是以第一个”l”,为标准。
StringUtils.substringBeforeLast("hello world", "l");
//结果为:hello wor   这里以最后一个“l”为准。

//截取某个字符串之后的字符
StringUtils.substringAfter("hello world", "l");
//结果是:lo world   这里是以第一个”l”,为标准。
StringUtils.substringAfterLast("hello world", "l");
//结果为:d          这里以最后一个“l”为准。

//截取两个字符串之间隔的字符
StringUtils.substringBetween("hello world", "o");    
//结果是: w   两个o之间的字符串。   
StringUtils.substringBetween("hello world", "l", "r"); 
//结果是: lo wo   第一个字符“l”与第一个字符“r”之间的字符串   
StringUtils.substringsBetween("hello world", "l", "r");
//结果是:数组 [lo wo]   第一个字符“l”与第一个字符“r”之间的字符串,以数组形式返回。

 

 

用StringUtils需要导入common-lang3包

 

  <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>

 

 

3、split()+正则表达式来进行截取
将字符串按照分割符截取,以数组形式返回

 

String str = "hello, name, 12345, 6789";
String[]  strs=str.split(",");
for(int i=0,len=strs.length;i<len;i++){
    System.out.println(strs[i].toString());
}

 

 

运行结果

hello
name
12345
6789

 

标签:JAVA,String,截取,hello,subString,split,字符串,world,StringUtils
From: https://www.cnblogs.com/Fooo/p/17420630.html

相关文章

  • 通过java.sql.DriverManager获取多数据源连接
    importlombok.Data;importlombok.SneakyThrows;importorg.springframework.util.StringUtils;importjava.sql.Connection;importjava.sql.Driver;importjava.sql.DriverManager;publicclassJdbcDriverManger{@SneakyThrowspublicstaticConnecti......
  • Java笔记(六):锁
    传统的Synchronized锁Synchronized通过为方法或代码块添加互斥锁,来保证线程安全性。持有相同锁的多个线程,同一时间只有一个线程能够拿到锁并执行锁定的代码块或方法。publicsynchronizedvoidrun(){//dosomething}Lock锁接口Lock的实现类:ReentractLockReentractRe......
  • [Java] JDK与Spring国际化支持
    0序言在Springcontext与SpringIoC对ApplicationContext以及Context相关的设计模式进行了介绍。ApplicationContext作为一个Context在应用的运行层提供了IoC容器、事件、国际化等功能接口。Spring的国际化(i18n)功能是通过MessageSource接口实现的,他提供了MessageSource::getM......
  • 【Java】引用传递?值传递?
    引用传递和值传递,从上学那会儿就开始强调的概念,不管你是计算机相关专业还是自学Java,一定听过这么一句话:方法调用参数如果是对象,那就是引用传递,如果是基本数据类型,就是值传递。比如:function(Objecto)就是引用传递,function(inti)就是值传递。这两个概念似乎很好理解,我们只需要记......
  • 【iOS开发】UIWebView调用JS点击事件(stringByEvaluatingJavaScriptFromString)
    一、场景描述产品需求是移动端app要调用h5页面,然后监听h5代码中的某个方法,最终执行h5中的具体代码。二、具体代码.m文件@interfaceViewController()<UIWebViewDelegate>@property(nonatomic,strong)UIWebView*webView;@end@implementationViewController-(void)viewDid......
  • Java入门9(HashSet,File文件类)
    HashSetjdk1.7之前,使用数组加链表的方式实现jdk1.8之后,在链表长度大于8并且数组长度超过32的情况下,会转成红黑树结构HashSet的本质是一个HashMap,它所有的value都是一致的,传入的参数作为key,因此HashSet中不允许重复数据存储的时候,键值对位于的数组位置,之和key的HashCode值有关......
  • java通用xls导出设计
    背景在后端日常开发中总会有各种各样的导出需求,实现这个需求必须要解决的两个问题:1、表头不能直接使用字段名,需要显示为中文,甚至还需要考虑国际化2、值需要翻译,比如性别、状态之类的字段现状现在主流写的比较好的方法是定义一个对象,对象上用自定义的注解+easytrans我的解决......
  • Java使用HttpClient以multipart/form-data向接口上传文件
    前言对接某公司的接口,涉及到资质上传等业务。需要对接他们的上传附件接口。JDK1.8httpclient4.x封装httpclient方法publicstaticStringpostFileMultiPart(Stringurl,Map<String,ContentBody>reqParam)throwsIOException{ CloseableHttpClienthttpclient=HttpCl......
  • 基于springBoot框架JAVA语言汽车销售管理系统功能实现
    运行环境idea(推荐)、jdk1.8、mysql5.X(不能为8驱动不匹配)、maven项目技术springboot+vue项目描述本项目基于springboot以及Vue开发。针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、财务报表等功能,提供经理和销售两种角色进行管理。1.安装好node环境2.......
  • 基于JAVA语言实现的养老信息管理系统
    项目描述本系统的主要功能有:账号管理:管理员账号,用户账号健康管理:健康档案,病例档案,药品管理生活管理:每月餐饮,外出报备入住管理:入住登记,寝室分配安全管理:事故记录,访客记录收费标准:入住费用,护理费用运行环境idea+mysql5.7+jdk1.8+maven3项目技术SpringBoot,MySql,ajax,MyBatis......