Java中split根据"."分割字符串问题举例

 更新时间:2022年10月09日 09:32:34   作者:N1S1OIS1N  
split表达式其实就是一个正则表达式,* | . ^ 等符号在正则表达式中属于一种有特殊含义的字符,下面这篇文章主要给大家介绍了关于Java中split根据“.“分割字符串问题的相关资料,需要的朋友可以参考下

1. 为啥str.split(“.”) 分割出来的是空的

split() 方法根据匹配给定的正则表达式来拆分字符串。

注意: . $ | * 等转义字符,必须得加 \\。

因此,应该用str.split(“\\.”)

2. Java中的转义字符 Escape Character

字母前加上"\"来表示一些不能显示的ASCII字符,如\0,\t,\n等,因为0,t,n等都不是原本ASCII表中的意思了,所以称为转义字符。

格式为:\+要转义的字符

3. 正则表达式中的转义符

正则表达式中的转义符也为"\"。所以在java中书写正则表达式时,要先通过java的转义再通过正则表达式的转义才是真正要的表达式。

举例

想要实现将字符串str = “192.168.0.1” 按照“.”进行分割。

使用split(String regex)方法,regex 为正则表达式分隔符。

由于正则表达式中"." 是一个具有特殊意义的字符,它可用于匹配任何字符。

因此需要转义符“\”,即正则表达式为regex = “\.”

但是转义符"\“在java中也充当着转义符,因此还要对”\“进行转义。

所以正则表达式要写成 “\\.”

String[] strs = str.split(”\\.")

补充:java的split方法分割字符串(分隔符如* | . ^ )及注意点

1、split表达式,其实就是一个正则表达式。* | . ^ 等符号在正则表达式中属于一种有特殊含义的字符,如果使用此种字符作为分隔符,必须使用转义符即\加以转义。

String add1="南京*建邺区";
String[] splitAdd1=add1.split("\\*");
System.out.println(splitAdd1[0]+splitAdd1[1]);

String add2="南京|建邺区";
String[] splitAdd2=add2.split("\\|");
System.out.println(splitAdd2[0]+splitAdd2[1]);

String add3="南京.建邺区";
String[] splitAdd3=add3.split("\\.");
System.out.println(splitAdd3[0]+splitAdd3[1]);

String add4="南京^建邺区";
String[] splitAdd4=add4.split("\\^");
System.out.println(splitAdd4[0]+splitAdd4[1]);

2、如果使用多个分隔符则需要借助 | 符号。

String address="南京1^南京2*南京3#南京4|南京5";
String[] splitAddress=address.split("\\^|\\*|#|\\|");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]+splitAddress[4]);

总结

到此这篇关于Java中split根据"."分割字符串问题的文章就介绍到这了,更多相关Java split根据.分割字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java字符串数组进行大小排序的简单实现

    java字符串数组进行大小排序的简单实现

    下面小编就为大家带来一篇java字符串数组进行大小排序的简单实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • java基础之初始化ArrayList时直接赋值的4种方式总结

    java基础之初始化ArrayList时直接赋值的4种方式总结

    ArrayList是Java中的一个类,它是Java集合框架中的一部分,用于实现动态数组,下面这篇文章主要给大家介绍了关于java基础之初始化ArrayList时直接赋值的4种方式,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • Spring的BeanUtils.copyProperties属性复制避坑指南

    Spring的BeanUtils.copyProperties属性复制避坑指南

    这篇文章主要介绍了Spring的BeanUtils.copyProperties属性复制避坑指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Token登陆验证机制的原理及实现

    Token登陆验证机制的原理及实现

    这篇文章介绍了Token登陆验证机制的原理及实现,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • 完美解决request请求流只能读取一次的问题

    完美解决request请求流只能读取一次的问题

    这篇文章主要介绍了完美解决request请求流只能读取一次的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • mybatis的Interceptor机制

    mybatis的Interceptor机制

    这篇文章主要为大家介绍了mybatis的Interceptor机制源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • JAVA重复调用接口导致数据不一致的问题解决

    JAVA重复调用接口导致数据不一致的问题解决

    在使用JAVA进行开发时,我们经常会遇到要调用接口来获取数据的情况,本文主要介绍了JAVA重复调用接口导致数据不一致的问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • Spring中的事务拦截器顺序如何控制详解

    Spring中的事务拦截器顺序如何控制详解

    这篇文章主要介绍了Spring中的事务拦截器顺序如何控制详解,那么spring事务拦截器的顺序如何控制呢,若我们自己也添加了一些拦截器,此时事务拦截器和自定义拦截器共存的时候,他们的顺序是怎么执行的?如何手动来控制他们的顺序,需要的朋友可以参考下
    2024-01-01
  • 关于Java并发编程中线程间协作的两种方式

    关于Java并发编程中线程间协作的两种方式

    这篇文章主要介绍了关于Java并发编程中线程间协作的两种方式,当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源的占用权,这是消费者模式,需要的朋友可以参考下
    2023-07-07
  • 解析java中volatile关键字

    解析java中volatile关键字

    这篇文章主要为大家解析了java中volatile关键字,经常有人把volatile关键字和synchronized或者lock混淆,本文就为大家好好区分,感兴趣的小伙伴们可以参考一下
    2016-01-01

最新评论