Java 切割字符串的几种方式

本文详细介绍如何使用Java进行高效字符串处理,包括使用StringTokenizer、split方法和substring方法来解析复杂的数据格式,以及如何利用正则表达式进行精确匹配。
    //以data  为案例参数。
     String   data = "2019-01-08 21:55 136 \n2019-01-08 22:00 86 \n2019-01-08 22:04 136 \n2019-01-08 22:09 86 \n2019-01-08 22:12 136 \n2019-01-14 10:49 86 \n";

已下排名按效率高低,如果有疑问自己可以设置时间戳,自己测试吧。

  1. StringTokenizer切割
    java.util中的一个类,包含的api有:
    在这里插入图片描述
    其中,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(":");
                 ···
                }
            }
  1. 调用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)获取位置。

  1. 正则获取时间,然后.replaceAll(String regex,String replacement)那时间用” “代替,剩下的字符串就是时间以外的字符串了。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值