解决java 分割字符串成数组时,小圆点不能直接进行分割的问题

 更新时间:2020年12月03日 16:25:01   作者:未来窥视者  
这篇文章主要介绍了解决java 分割字符串成数组时,小圆点不能直接进行分割的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

问题描述:

String preStr = "a.b.c"; // 这里要把该字符串按小圆点进行分割,成"a","b","c"

String[] string = preStr.split("."); // 直接这样写是不行的

正确的写法是,对小圆点进行转义

String[] string = preStr.split("\\.");

补充知识:Java中不使用split方法实现字符串分割成字符数组

核心思想

利用indexOf方法来定位分割符spliter

利用substring方法来截取分隔符前后的字符串,前字符串放到list中

循环操作1,2两个步骤,直到取得不包含分隔符的字符串,然后添加到list中

将list转成数组

代码实现:

public class TestDemo { 
 private static class SplitDemo { 
 public static String[] split(String rawer, String spliter) {
  //先拷贝一份,避免直接更改全局变量
  String rawerTemp = rawer;
  //容纳分割后的分隔符前的字符串
  List<String> list = new ArrayList<String>();
  
  while(rawerTemp.indexOf(spliter)!=-1) {
  //还存在spliter分割符的时候
  String temp = rawerTemp.substring(0, rawerTemp.indexOf(spliter));
  //将分隔符前的部分添加到list
  list.add(temp);
  //分割得到第一个分隔符后边的所有字符串
  rawerTemp = rawerTemp.substring(rawerTemp.indexOf(spliter)+spliter.length());
  }
  
  //如果不存在分割符则直接加入
  if(rawerTemp.length()!=0) {
  list.add(rawerTemp);
  }
  //生成数组并返回
  if(list.size()>0) {
  String[] arrays = new String[list.size()];
  for(int i=0;i<list.size();i++) {
   arrays[i] = list.get(i);
  }
  return arrays;
  }
  return new String[0];
 } 
 }
 
 @Test
 public void test() {
 System.out.println(Arrays.toString(SplitDemo.split("", "\\")));
 System.out.println(Arrays.toString(SplitDemo.split("aa&&22", "&&")));
 System.out.println(Arrays.toString(SplitDemo.split("aa&&22&&", "&&")));
 System.out.println(Arrays.toString(SplitDemo.split("aa&&||&&", "||")));
 }
}

以上这篇解决java 分割字符串成数组时,小圆点不能直接进行分割的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring Data MongoDB 数据库批量操作的方法

    Spring Data MongoDB 数据库批量操作的方法

    在项目开发中经常会批量插入数据和更新数据的操作,这篇文章主要介绍了Spring Data MongoDB 数据库批量操作的方法,非常具有实用价值,需要的朋友可以参考下
    2018-11-11
  • 修改idea的这些启动参数,令你的idea健步如飞

    修改idea的这些启动参数,令你的idea健步如飞

    这篇文章主要介绍了修改idea的这些启动参数,令你的idea健步如飞~具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Eclipse中配置Maven build打包的方法步骤

    Eclipse中配置Maven build打包的方法步骤

    这篇文章主要介绍了Eclipse中配置Maven build打包的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Java两个变量的互换(不借助第3个变量)具体实现方法

    Java两个变量的互换(不借助第3个变量)具体实现方法

    这篇文章主要介绍了Java两个变量的互换(不借助第3个变量)具体实现方法,需要的朋友可以参考下
    2014-02-02
  • Java项目部署的完整流程(超详细!)

    Java项目部署的完整流程(超详细!)

    我相信很多Java新手都会遇到这样一个问题,跟着教材敲代码,很容易,但是让他完整的实现一个应用项目却不会,下面这篇文章主要给大家介绍了关于Java项目部署的完整流程,需要的朋友可以参考下
    2022-07-07
  • SpringBoot设置默认主页的方法步骤

    SpringBoot设置默认主页的方法步骤

    这篇文章主要介绍了SpringBoot设置默认主页的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • mybatis-plus使用generator实现逆向工程

    mybatis-plus使用generator实现逆向工程

    mybatis-plus-generator在3.5.0以及以后的版本使用新的方式逆向生成代码,本文主要介绍了mybatis-plus使用generator实现逆向工程,具有一定的参考价值,感兴趣的可以了解一下
    2022-05-05
  • Spring Boot 单元测试和集成测试实现详解

    Spring Boot 单元测试和集成测试实现详解

    这篇文章主要介绍了Spring Boot 单元测试和集成测试实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Spring TransactionalEventListener事务未提交读取不到数据的解决

    Spring TransactionalEventListener事务未提交读取不到数据的解决

    这篇文章主要介绍了Spring TransactionalEventListener事务未提交读取不到数据的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • springboot的logback配置源码解读

    springboot的logback配置源码解读

    这篇文章主要为大家介绍了springboot的logback配置,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11

最新评论