Java split()方法中的特殊符号举例详解

 更新时间:2023年07月13日 11:49:59   作者:约翰先森不喝酒  
Java中的split方法可以将一个字符串按照指定的分隔符进行分割,返回一个字符串数组,这篇文章主要给大家介绍了关于Java split()方法中的特殊符号的相关资料,需要的朋友可以参考下

一、split是什么?

在Java中,split()方法用于分隔字符串,可以根据匹配给定的正则表达式来拆分字符串。split()方法可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回;语法如下,其中参数regex指定正则表达式分隔符,limit指定分割的份数。分隔符可以是任意字符、符号、数字、字符串等。

stringInfo.split([regex,[limit]])

二、特殊字符处理

1.案例

private String data = "6&三-1号柜^7&三-2号柜^8&客服中心"; 
字符串转成 List数组 数组中包括 id 跟名字

这里就涉及到了特殊字符分割,如果按照传统分割 data.split("^"); 输出结果还是 字符串本身,所以在涉及到特殊字符分割的时候要前面要加上转义符

String data = "6&三-1号柜^7&三-2号柜^8&客服中心";
List<Pair<String, String>> list = new ArrayList<>();
String[] elements = data.split("\\^");
for (String element : elements) {
    String[] parts = element.split("&");
    String id = parts[0];
    String name = parts[1];
    list.add(new Pair<>(id, name));
}

还有一种涉及到多符号分割,这种情况下不到要加上转义符 还要借助分割符处理、

String address="北京^北京市@海淀区#四道街";

String address = "北京^北京市@海淀区#四道街";
String[]splitAddress=address.split("\\^|@|#");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);

附:Java在split()时,需要转义的几个字符:

或'|',点'.',加'+',乘'*',在字符串中出现时,如果这个字符串需要被拆分,则拆分时候,需要在前面加两个反斜杠。

 与&,在分裂时候,不需要转义。

用多个不同符号分割示例代码:用 '!' , '.' ,空格三个, '@' 来分割字符串

import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        String str="czh!han.bb   test@love";
        //用'!','.',空格三个,'@'来分割字符串
        String[] a=str.split("\\s+|\\.|\\!|@");
        System.out.println(Arrays.toString(a));
    }
}

输出如下:

注意上面的bb和test之间是三个空格,\\s后面用了+,就将这多个空格看作一个分隔符了!@不是那几种需要转义的字符之一,就不用加\\了!

[czh, han, bb, test, love]

总结

split即正则表达式。特殊符号有  |   +  *  ^   $   /   |   [   ]  (   )  -   .   \ 等,因为它们是正则表达式中的一部分, 所以如果想用该字符本身,必须使用转义符即\\加以转义才能表示它本身

到此这篇关于Java split()方法中的特殊符号的文章就介绍到这了,更多相关Java split()方法特殊符号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 教你实现Java接口防刷

    教你实现Java接口防刷

    有些人会恶意提交,本文主要介绍了教你实现Java接口防刷,通过在一定时间内限制同一用户对同一个接口的请求次数,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • LocalDateTime日期时间格式中间多了一个T的问题及解决

    LocalDateTime日期时间格式中间多了一个T的问题及解决

    这篇文章主要介绍了LocalDateTime日期时间格式中间多了一个T的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • servlet实现简单的权限管理和敏感词过滤功能

    servlet实现简单的权限管理和敏感词过滤功能

    JavaEE课要求用servlet和过滤器实现权限管理和敏感词过滤功能,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 在Java代码中解析html,获取其中的值方法

    在Java代码中解析html,获取其中的值方法

    今天小编就为大家分享一篇在Java代码中解析html,获取其中的值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • mybatis执行错误但sql执行正常问题

    mybatis执行错误但sql执行正常问题

    这篇文章主要介绍了mybatis执行错误但sql执行正常问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • java反射应用详细介绍

    java反射应用详细介绍

    本篇文章依旧采用小例子来说明java反射应用,因为我始终觉的,案例驱动是最好的,需要的朋友可以参考下
    2012-11-11
  • ElasticSearch的完整安装教程

    ElasticSearch的完整安装教程

    这篇文章主要给大家分享介绍了ElasticSearch的完整安装教程,文中通过示例代码介绍的非常详细,对大家学习或者使用ElasticSearch具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 使用Spring启动时运行自定义业务

    使用Spring启动时运行自定义业务

    这篇文章主要介绍了使用Spring启动时运行自定义业务的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • SpringBoot集成Druid配置(yaml版本配置文件)详解

    SpringBoot集成Druid配置(yaml版本配置文件)详解

    这篇文章主要介绍了SpringBoot集成Druid配置(yaml版本配置文件),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • spring boot项目打包成war在tomcat运行的全步骤

    spring boot项目打包成war在tomcat运行的全步骤

    这篇文章主要给大家介绍了关于spring boot项目打包成war在tomcat运行的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04

最新评论