2021-09-30

关于字符串切割问题:
如果希望将字符串按照指定的标记切分成为若干段,那么可以使用方法:
一、public String[] split(String regex):将regex作为标记进行切刀,返回切分之后的若干字符串(字符串数组)(根据给定正则表达式的匹配拆分此字符串。)
例如:

   1、声明一个String字符串变量 
	String string="AAA;BBB;CCC";
	2、声明一个String[]字符串的数组进行装箱分割“;”分号!!!
	String[] array1=string.split(";");
	3、输出长度
	System.out.println("数组的长度:"+array1.length);
	4、遍历循环array1
	for (int i = 0; i < array1.length; i++) {
		//System.out.println(array1[i]);
		System.out.println("\""+array1[i]+"\",");
	}

1
2
3
4
5
6
7
8
9
10
11

或者:

String str= “qwer;tyui;opas;dfgh;jklz;xcvbnm;1234;56789”;
String[] strings=str.split(";");//默认为0
for (String string : strings) {
System.out.print("""+string+"",");
}
1
2
3
4
5

注意事项:
不要使用英文句点作为分割的标记,因为英文句点在正则表达式中有特殊含义。而参数regex其实就是一个正则表达式,若一定要 使用英文句点,切割的标记应该使用"."(固定写法)
例如:

String string2=“aaa.bbb.ccc”;
String[] array2=string2.split("\.");
//String[] array2=string2.split(".");
System.out.println(“数组的长度:”+array2.length);
for (int i = 0; i < array2.length; i++) {
//System.out.println(array2[i]);
System.out.println("""+array2[i]+"",");
}
1
2
3
4
5
6
7
8

1.如果 n > 0,模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入
2.如果 n < 0,模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将保留。
3.如果 n = 0,模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。
二、String[] split(String regex,int limit):根据匹配给定的正则表达式来拆分此字符串。

String str= “qwer;tyui;opas;dfgh;jklz;xcvbnm;1234;56789”;
String[] strings=str.split(";",1);//切割一次
for (String string : strings) {
System.out.print(""" + string + “”,");
}
1
2
3
4
5

————————————————
版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44552861/article/details/90270763

上一篇:【数据处理与分析】 数据集的创建


下一篇:Mapreduce和Hive中map reduce个数设定