Java切割字符串的⼏种⽅式
按效率排:
1、StringTokenizer切割
是java.util中的⼀个类,包含的api有:
StringTokenizer的⽅法请参考上⼀篇。
其中,countTokens为length;nextToken可以获取它的下⼀个字符串,其中delim为分隔符。
2、..split("*")分割;
最⽅便,运⽤最多的,不解释。
String[] split = data.split("\n");
if (split != null && split.length != 0) {
for (int i = 0; i < split.length-1; i++) {
String[] split1 = split[i].split(":");
···
}
}
3、调⽤String⾃⼰的api subString()
运⽤2的代码块
String[] split = data.split("\n");
if (split != null && split.length != 0) {
for (int i = 0; i < split.length-1; i++) {
System.out.println(split[i]);
String time = split[i].substring(0, 16);//前半部分 16为index
System.out.println(time);
String num = split[i].substring(17);//剩余部分  index +2;
System.out.println(num);
}
}
输出结果:
2019-01-08 21:55 136
2019-01-08 21:55
136
2019-01-08 22:00 86
2019-01-08 22:00
86
2019-01-08 22:04 136
2019-01-08 22:04
136
2019-01-08 22:09 86
2019-01-08 22:09
86
2019-01-08 22:12 136
2019-01-08 22:12
136
其中上⾯的split[i].substring(0, 15);15是我字符串我这边功能需要写死了的,你可以通过indexOf(int ch)获取位置。
4、正则获取时间,然后.replaceAll(String regex,String replacement)那时间⽤” “代替,剩下的字符串就是时间以外的字符串了。
实例:
以下实例使⽤了 split(string) ⽅法通过指定分隔符将字符串分割为数组:
JavaStringSplitEmp.java ⽂件
public class JavaStringSplitEmp {
public static void main(String args[]){
String str = "www-runoob-com";
String[] temp;
String delimeter = "-";  // 指定分割字符
temp = str.split(delimeter); // 分割字符串
// 普通 for 循环
字符串截取后四位方法
for(int i =0; i < temp.length ; i++){
System.out.println(temp[i]);
System.out.println("");
}
System.out.println("------java for each循环输出的⽅法-----");
String str1 = "www.runoob";
String[] temp1;
String delimeter1 = "\\.";  // 指定分割字符, . 号需要转义
temp1 = str1.split(delimeter1); // 分割字符串
for(String x :  temp1){
System.out.println(x);
System.out.println("");
}
}
}
以上代码实例输出结果为:
www
runoob
com
------java for each循环输出的⽅法-----
www
runoob
com
在本例⼦中⽤到 String 类的 split ⽅法,其实在字符串分割时可以调⽤ StringTokenizer,实例化⼀个 StringTokenizer 的对象,通过hasMoreTokens() 与 nextToken()进⾏判断并打印分割后的⼦字符串。具体代码如下:
import java.util.;
import java.lang.;
public class Main {
public static void main(String args[]) {
String str="www.runoob";
// 实例化对象,并指向以 . 对 str 进⾏分割
StringTokenizer str2=new StringTokenizer(str, ".");
// 对 str2 遍历并打印⼦字符串;
while(str2.hasMoreTokens()){
System.out.Token());
}
}
}
输出结果为:
www
runoob
com

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。