Java String中的split方法使用总结

 更新时间:2022年08月18日 14:30:04   作者:夜雨落花  
这篇文章主要介绍了Java String中的split方法使用总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

String中split方法使用

String的split()方法用于按传入的字符或字符串对String进行拆分,返回拆分之后的数组。

1、一般用法

用一般的字符,例如@或,等符号做分隔符时:

String address="上海@上海市@闵行区@吴中路";
String[] splitAddr=address.split("@");
System.out.println(splitAddr [0]+splitAddr [1]+splitAddr [2]+splitAddr [3]);

2、需要转义的分隔符

当使用* ^ : | . \等6个符号做分隔符时,上述6个符号转义字符,必须得加"\\",即split(“\\^”)等。第二个“\”是用来给这6种符号转义,第一个“\”是用来给第二个“\”转义。

String address="上海*上海市*闵行区*吴中路";
String[] splitAddr=address.split("\\*");  
System.out.println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3]);

其中有个更特殊的,就是“\”。如果字符串中想要使用"\",就应该使用"\\"进行转义。也就是说,对于"a\b",应该写成"a\\b",而如果想要用split方法针对"\"进行拆分,应该使用"a\\b".split("\\\\")。

3、多个符号作为分隔符

可以用“|”字符作为连字符,把多个分隔符分隔的内容都区分开:

String address="上海^上海市@闵行区#吴中路";
String[] splitAddr=address.split("\\^|@|#");
System.out.println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3]);  

4、空值的存储

如果split(String s)函数产生了空值,那么不会存到数组中。可以通过使用它的重载函数split(";",-1)实现空值的保存。这里的“;”只是作为分隔符的一个例子。

String.split()需要的转义字符

注意“/”和“-”,"&"不是转义字符。

String str="aaaa/aaaa/aaaa";
String[] strings=str.split("/");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa-aaaa-aaaa";
String[] strings=str.split("-");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa&aaaa&aaaa";
String[] strings=str.split("&");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}

转义字符

  • |
  • \
  • $
  • *
  • +
  • .
  • ?
  • ^
  •  
  • (
  • )
  • [
  • ]
  • {
  • }
String str="aaaa|aaaa|aaaa";
String[] strings=str.split("\\|");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa\\aaaa\\aaaa";
String[] strings=str.split("\\\\");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa$aaaa$aaaa";
String[] strings=str.split("\\$");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa*aaaa*aaaa";
String[] strings=str.split("\\*");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa+aaaa+aaaa";
String[] strings=str.split("\\+");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa.aaaa.aaaa";
String[] strings=str.split("\\.");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa?aaaa?aaaa";
String[] strings=str.split("\\?");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa^aaaa^aaaa";
String[] strings=str.split("\\^");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa(aaaa(aaaa";
String[] strings=str.split("\\(");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}

所有的括号都是转义字符。 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • Java设计模式中的原型模式讲解

    Java设计模式中的原型模式讲解

    原型模式是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式,今天通过本文给大家介绍下Java 原型设计模式,感兴趣的朋友一起看看吧
    2023-04-04
  • SpringCloud Stream消息驱动实例详解

    SpringCloud Stream消息驱动实例详解

    这篇文章主要介绍了SpringCloud Stream消息驱动的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 浅谈Java循环中的For和For-each哪个更快

    浅谈Java循环中的For和For-each哪个更快

    本文主要介绍了浅谈Java循环中的For和For-each哪个更快,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • SpringBoot接值实现方法详解

    SpringBoot接值实现方法详解

    这篇文章主要介绍了SpringBoot接值实现方法,SpringBoot接值是指在SpringBoot应用程序中接收请求参数,从HTTP请求中获取参数,并将其绑定到Java对象中进行处理的过程,感兴趣想要详细了解可以参考下文
    2023-05-05
  • java实现多人多牌数比较游戏

    java实现多人多牌数比较游戏

    这篇文章主要为大家详细介绍了java实现多人多牌数比较游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Java使用excel工具类导出对象功能示例

    Java使用excel工具类导出对象功能示例

    这篇文章主要介绍了Java使用excel工具类导出对象功能,结合实例形式分析了java创建及导出Excel数据的具体步骤与相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • Java中数组的一些常见操作和技巧分析

    Java中数组的一些常见操作和技巧分析

    这篇文章主要给大家介绍了关于Java中数组的一些常见操作和技巧分析的相关资料,数组(Array)是Java中的一种引用数据类型,是多个相同类型数据一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理,需要的朋友可以参考下
    2023-08-08
  • Java C++题解leetcode字符串轮转KMP算法详解

    Java C++题解leetcode字符串轮转KMP算法详解

    这篇文章主要为大家介绍了Java C++题解leetcode字符串轮转KMP算法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Java中设置JAVA_HOME无效的解决方法

    Java中设置JAVA_HOME无效的解决方法

    最近遇到一个问题,就是配置JAVA_HOME无效,不管怎么改,运行Java -version始终是最初的那个java版本,所以这篇文章主要给大家介绍了关于Java中设置JAVA_HOME无效的解决方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • spring boot实现自动输出word文档功能的实例代码

    spring boot实现自动输出word文档功能的实例代码

    这篇文章主要介绍了spring boot实现自动输出word文档功能的实例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04

最新评论