欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

split()方法需要注意的一些事项

程序员文章站 2022-10-03 08:54:54
先回忆下split(),split()方法提供两种字符串分割形式,split(String regex)和split(String regex,int limit)...

先回忆下split(),split()方法提供两种字符串分割形式,split(String regex)和split(String regex,int limit)

split()方法需要注意的一些事项

(1)split(String regex)根据给定分隔符对字符串分割。
(2)split(String regex,int limit)根据模式匹配次数进行分割,如果设置值为n,那么将根据正则表达式匹配n-1次,得到结果数组不会大于n,最后一项为匹配分割符以后全部内容。对于普通的来说,直接调用split()方法就可以

String str="123@abc";
String[] a = str.split("@");
System.out.println("分割为; "+a[0]+","+a[1]);

但对于特殊的,比如今下午复习碰到的这个:

public static void main(String[] args) {
		String str="19.2168.0.1";
		
		String[] s1 = str.split("\\.");
		String[] s2 = str.split("\\.", 2);
		String[] s3 = str.split("\\.", 3);
		System.out.println("str的原值为;["+str+"]");
		for (String a : s1 ) {
			System.out.println("["+a+"]");
		}
		System.out.println();        
		for (String a : s2) {
			System.out.println("["+a+"]");
		}
		System.out.println();
		for (String a : s3) {
			System.out.println("["+a+"]");
		}
		System.out.println();

	}

他的split()方法是split("\.");为什么不是直接调用“ . ”呢?
因为“ . ”本身是正则表达式的一部分, 如果想用“ . ”本身, 需要进行转义才能表示它本身,所以需要用“\”进行转义,而“\”也是正则表达式的一部分,所以也需要一个“\”去转义“\”本身,所以一共要用到两个“\”,即“\.”相同的字符还有“ | ”,“+”,“*”,“\”,“/”,“[”,“]”,“(”,“)”,“^”,“$”,“-”等
今天下午就是在这个地方耗了好长时间

然后我们看一下输出结果,根据s1,s2,s3理解一下定义
split()方法需要注意的一些事项
s1不难理解,只要符合条件,有多少,拆多少,直到全部拆完为止。s2和s3对比可以看出,拆分个数为n-1,很多童鞋粗心可能拆成n个。
上课摸鱼的同学看到这可能就要问了,哎,你的输出怎么放到for循环内啊?
其实这里并不是for,而是高级for循环foreachsplit()方法需要注意的一些事项
因为这种题目一般都会要求你把输出字符放到[]内,所以需要用高级for循环遍历集合

本文地址:https://blog.csdn.net/m0_49908639/article/details/110820482

相关标签: 笔记 java