java中split()方法以及常见算法经典案例
作者:偏右右
这篇文章主要介绍了java中split()方法以及常见算法的相关资料,split()方法可以根据指定的正则表达式将字符串分割成多个子字符串,并返回一个字符串数组,文中通过代码介绍的非常详细,需要的朋友可以参考下
一、split()
1.定义
Java中split()方法可以根据指定的正则表达式将字符串分割成多个子字符串,并将结果以字符串数组的方式返回。
2.分割符种类
分割符可以是数字,任意字符,字符串,符号等。
3.重载的方法以及含义
| String[] split(String regex) | 返回被regex分割后的字符串数组 |
| Stirng[] split(Stirng regex,int limit) | 返回被regex分割后的,数组长度为limit的字符串数组 |
4.注意事项
a.空字符串
如果是" ",空格字符串,那输出结果将会以空格分割符分割;
如果是""空字符串,输出结果将会是单个字符的形式输出为字符串数组,长度为str.length();
public class SplitTest {
public static void main(String []args) {
String str="abcdef ghi";
String[] list=str.split(" ");
for (String s:list
) {
System.out.println(s);
}
String[] list1=str.split("");
for (String s:list1
) {
System.out.println(s);
}
}
}运行结果:

b.连续分隔符
如果字符串中有连续的分割字符,那么结果数组中将出现空字符串。(注意区分空字符串,空格字符串);
public class SplitTest {
public static void main(String []args) {
String str="abcdef,,ghi";
String[] list=str.split(",");
for (String s:list
) {
System.out.println(s);
}
}
}运行结果:

c.转义字符
在正则表达式中,有些字符具有特殊含义,例如:
'.', '*', '?', '^', '$', '(', '[', '{', '|', '\', '/'等。
如果需要这些字符作为普通字符进行分割,则需要进行转义;
public class SplitTest {
public static void main(String []args) {
String str="abc.def.ghi";
String[] list=str.split("\\.");
for (String s:list
) {
System.out.println(s);
}
}
}运行结果:

5.代码演示
public class SplitTest {
public static void main(String []args) {
String str="2024-3-6";
//双引号而非单引号,参数是字符串类型,不能大意认为"-"是单个字符。
String[] list=str.split("-");
for(String s:list){
System.out.println(s);
}
//有限字符串数组长度的重载split();
String[] list1=str.split("-",4);//虽然为4,但是最多分割两次
for(String s:list1){
System.out.println(s);
}
//多个分割字符的情况
String str2="abcd.efg|hijk.mno";
String[] list2=str2.split("\\.|\\|");
for (String s:list2
) {
System.out.println(s);
}
}
}运行结果:

二、经典例题
1.问题描述
用户输入“2024-8-9”,程序返回"2024-08-09".
2.思路
1.先用split()方法将字符串分割为字符串数组;
2.遍历数组,用stringbuilder存储,当存储到下一个字符时进行判断,如果字符长度为1,则拼接0,然后再拼接"-",如果不为一,则直接拼接"-".
import java.util.Scanner;
public class SplitTest {
public static void main(String []args) {
Scanner input=new Scanner(System.in);
//创建stringbuilder字符串来存储动态结果;
StringBuilder stringBuilder=new StringBuilder();
String str=input.next();
//使用split()方法分割字符串
String[] list=str.split("-");
for (int i = 0; i <list.length ; i++) {
//如果长度为1,则拼接字符串;
if (list[i].length()==1){
stringBuilder.append("0");
stringBuilder.append(list[i]);
}else {
stringBuilder.append(list[i]);
}
//除了最后一个字符串,拼接"-";
if(i!=list.length-1){
stringBuilder.append("-");
}
}
//打印结果
System.out.println(stringBuilder);
}
}3.运行结果

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