Java中实现String字符串分割的3种方法

 更新时间:2023年05月13日 15:27:06   作者:Smile sea breeze  
这篇文章主要介绍了Java中实现String字符串分割的3种方法,文章底部介绍了JAVA 截取字符串的三种方法subString,StringUtils,split,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下

Java中实现String字符串分割的3种方法

方法1:split(string) 方法

使用了 split(string) 方法通过指定分隔符将字符串分割为数组

public class Test {
    public static void main(String[] args) {
        String a = "1-1-1-1";
        String[] temp;
        String delimiter = "-";// 指定分割字符
        temp = a.split(delimiter);// 分割字符串
        System.out.println(Arrays.toString(temp));//[1, 1, 1, 1]
        for (int i = 0; i < temp.length; i++) { //for 循环
            System.out.print(temp[i]); //1111
        }
    }
}

[1, 1, 1, 1]
1111

在java.lang包中有String.split()方法,返回是一个数组。“.”和“|”都是转义字符,必须得加"“;
如果用“.”作为分隔的话,必须是如下写法:String.split(”\.“),这样才能正确的分隔开,不能用String.split(”.“);
如果用“|”作为分隔的话,必须是如下写法:String.split(”\|“),这样才能正确的分隔开,不能用String.split(”|");

方法2:substring方法

substring(int beginIndex)该子字符串从beginIndex处的字符开始,直到此字符串末尾。
substring(int beginIndex, int endIndex)该子字符串从指定的 beginIndex 处开始,直到索引 endIndex – 1 处的字符。注意:其它一些语言第二个参数往往代表长度,JAVA不一样。该子字符串的长度为 endIndex-beginIndex。

public class Test2 {
    public static void main(String[] args) {
        String a = "1-1-1-1";
        String str1 = a.substring(0,1);
        System.out.println(str1);
        String str2 = a.substring(2,3);
        System.out.println(str2);
        String str3 = a.substring(4,5);
        System.out.println(str3);
        String str4 = a.substring(6);
        System.out.println(str4);
    }
}

1111

方法3:StringTokenizer方法

Java中substring方法可以分解字符串,返回的是原字符串的一个子字符串。如果要讲一个字符串分解为一个一个的单词或者标记,可用StringTokenizer来解决
String 类的 split 方法,其实在字符串分割时可以调用 StringTokenizer,实例化一个 StringTokenizer 的对象,通过 hasMoreTokens() 与 nextToken()进行判断并打印分割后的子字符串。

public class Test {
    public static void main(String[] args) {
        String a = "1-1-1-1";
        StringTokenizer result = new StringTokenizer(a,"-");   // 实例化对象,并指向以 - 对 a 进行分割
        while(result.hasMoreTokens()){ // 对 result 遍历并打印子字符串; 
            System.out.println(result.nextToken());
        }
    }
}

1
1
1
1

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

主要有以下几种方法:

1、通过subString()方法来进行字符串截取(最常用)

2、通过StringUtils提供的方法3

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字符串分割的3种方法的文章就介绍到这了,更多相关java string字符串分割内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring超详细讲解BeanUtils改造

    Spring超详细讲解BeanUtils改造

    BeanUtils.copyProperties();确实为我们做了很多事情,虽然不能完美完成深拷贝,但是对于 po、vo、dto 的拷贝已经足够用了。但是其还是有一些不够完美的地方,下面我们来探讨一下有哪些不足以及改造
    2022-06-06
  • Java排序算法总结之希尔排序

    Java排序算法总结之希尔排序

    这篇文章主要介绍了Java排序算法总结之希尔排序,较为详细的分析了希尔排序的原理与java的实现技巧,需要的朋友可以参考下
    2015-05-05
  • Java中内存分配的几种方法

    Java中内存分配的几种方法

    本文主要介绍Java中几种分配内存的方法。我们会看到如何使用sun.misc.Unsafe来统一操作任意类型的内存。以前用C语言开发的同学通常都希望能在Java中通过较底层的接口来操作内存,他们一定会对本文中要讲的内容感兴趣
    2014-03-03
  • SpringBoot 项目中的图片处理策略之本地存储与路径映射

    SpringBoot 项目中的图片处理策略之本地存储与路径映射

    在SpringBoot项目中,静态资源存放在static目录下,使得前端可以通过URL来访问这些资源,我们就需要将文件系统的文件路径与URL建立一个映射关系,把文件系统中的文件当成我们的静态资源即可,本文给大家介绍SpringBoot本地存储与路径映射的相关知识,感兴趣的朋友一起看看吧
    2023-12-12
  • PowerMockito的基本使用解析

    PowerMockito的基本使用解析

    这篇文章主要介绍了PowerMockito的基本使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Spring IOC中对象的创建、策略及销毁时机和生命周期详解

    Spring IOC中对象的创建、策略及销毁时机和生命周期详解

    这篇文章主要介绍了Spring IOC中对象的创建、策略及销毁时机和生命周期详解,Spring默认使用类的空参构造方法创建bean,假如类没有空参构造方法,将无法完成bean的创建,需要的朋友可以参考下
    2023-08-08
  • java如何遍历对象中的所有属性(字段)和类型

    java如何遍历对象中的所有属性(字段)和类型

    这篇文章主要介绍了java如何遍历对象中的所有属性(字段)和类型问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 详解spring boot配置 ssl

    详解spring boot配置 ssl

    本篇文章主要介绍了详解spring boot配置 ssl,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • SpringBoot动态数据源连接测试的操作详解

    SpringBoot动态数据源连接测试的操作详解

    这篇文章主要介绍了SpringBoot动态数据源连接测试的操作步骤,文中通过代码示例和图文结合的方式给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-03-03
  • Scala递归函数调用自身

    Scala递归函数调用自身

    这篇文章主要介绍了Scala递归函数,Scala递归函数是一种函数可以调用自身的函数,直到满足某个特定的条件为止。在函数式编程的语言中,递归函数起着重要的作用,因为它可以用来表示循环或迭代的逻辑
    2023-04-04

最新评论