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]);
}

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

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

相关文章

  • Spring Cloud与分布式系统简析

    Spring Cloud与分布式系统简析

    这篇文章主要介绍了Spring Cloud与分布式系统的相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-09-09
  • SpringBoot中使用JdbcTemplate访问Oracle数据库的案例详解

    SpringBoot中使用JdbcTemplate访问Oracle数据库的案例详解

    JdbcTemplate是Spring框架中的一个核心类,用于简化Java应用程序与关系型数据库的交互操作,本文给大家介绍SpringBoot中使用JdbcTemplate访问Oracle数据库的方法,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • SpringBoot整合JWT实战教程

    SpringBoot整合JWT实战教程

    JWT(JSON Web Token)是一种用于身份验证和授权的开放标准(RFC 7519),它使用JSON格式传输信息,可以在不同系统之间安全地传递数据,这篇文章主要介绍了SpringBoot整合JWT实战教程,需要的朋友可以参考下
    2023-06-06
  • 详解Spring学习总结——Spring实现AOP的多种方式

    详解Spring学习总结——Spring实现AOP的多种方式

    这篇文章主要介绍了详解Spring学习总结——Spring实现AOP的多种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 深度理解SpringMVC中的HandlerMapping

    深度理解SpringMVC中的HandlerMapping

    这篇文章主要介绍了深度理解SpringMVC中的HandlerMapping,HandlerMapping的作用根据request找到对应的处理器Handler,在HandlerMapping接口中有一个唯一的方法getHanler,需要的朋友可以参考下
    2023-09-09
  • springboot项目中jackson-序列化-处理 NULL教程

    springboot项目中jackson-序列化-处理 NULL教程

    这篇文章主要介绍了springboot项目中jackson-序列化-处理 NULL教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • Springboot+Mybatis实现分页加条件查询功能

    Springboot+Mybatis实现分页加条件查询功能

    这篇文章主要为大家详细介绍了Springboot+Mybatis实现分页加条件查询,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 最简单易懂的java数组排序方法整理

    最简单易懂的java数组排序方法整理

    这篇文章主要给大家整理介绍了最简单易懂的java数组排序方法,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • SpringBoot中使用Guava实现单机令牌桶限流的示例

    SpringBoot中使用Guava实现单机令牌桶限流的示例

    本文主要介绍了SpringBoot中使用Guava实现单机令牌桶限流的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • java语言图形用户登录界面代码

    java语言图形用户登录界面代码

    这篇文章主要为大家详细介绍了java语言图形用户登录界面代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06

最新评论