最近在项目中遇到一个小问题,一个字符串分割成一个数组,下面这篇文章主要给大家介绍了关于Java中String的split切割字符串方法的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
一、public String[] split(String regex)
public String[] split(String regex):
根据传入的字符串参数,作为规则,切割当前字符串
String a="198,168,10,1";
String [] arr=a.split(",");
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
二、public String[] split(String regex, int limit)
public String[] split(String regex, int limit):
根据传入的字符串参数和限制长度,作为规则,切割当前字符串(就是把字符串分成几段)
String b="2022-04-19";
String[] b1=b.split("-",2); //分成两段
for (int i = 0; i < b1.length; i++) {
System.out.println(b1[i]);
}
三、扩展
问题1:当切割到正则表达式符号的时候会切割失败
String a1="198.198.156";
String [] arr1=a1.split(".");
//当用正则表达式.切割的时候会出现什么都没有的情况,这是因为参数是正则表达式,而.在正则表达式中表任意字符,所以切割的时候会都切了
for (int i = 0; i < arr1.length; i++) {
System.out.println(arr1[i]);
}
解决方法:使用转义字符 ‘\’ 就可以解决
String a1="198.198.156";
String [] arr2=a1.split("\\.");
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);
}
问题2:当切割多个字符的时候会切割失败
String s="198.19@19";
String [] sarr=s.split("\\.@");
for (int i = 0; i < sarr.length; i++) {
System.out.println(sarr[i]); //198.19@19
}
解决方法:当需要多个字符切割的时候要用到 | 这个分开
String s2="198.19@19";
String [] s2arr=s2.split("\\.|@");
for (int i = 0; i < s2arr.length; i++) {
System.out.println(s2arr[i]);
}
总结
1.split返回是一个字符串数组接收
2.为了防止切割的时候会因为正则表达式出现空白的情况,
以后所有切割都用\\为开头就行
3. 多个符号切割时记得用|分开
到此这篇关于Java中String的split切割字符串方法的文章就介绍到这了,更多相关Java String split切割字符串内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:Java中String的split切割字符串方法实例及扩展
基础教程推荐
- Java实现查找文件和替换文件内容 2023-04-06
- springboot自定义starter方法及注解实例 2023-03-31
- java基础知识之FileInputStream流的使用 2023-08-11
- JDK数组阻塞队列源码深入分析总结 2023-04-18
- Java数据结构之对象比较详解 2023-03-07
- Java文件管理操作的知识点整理 2023-05-19
- Java并发编程进阶之线程控制篇 2023-03-07
- Java实现线程插队的示例代码 2022-09-03
- java实现多人聊天系统 2023-05-19
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02