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.com";
  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.com";
    // 实例化对象,并指向以 . 对 str 进行分割
    StringTokenizer str2=new StringTokenizer(str, ".");
    // 对 str2 遍历并打印子字符串;
    while(str2.hasMoreTokens()){
        System.out.println(str2.nextToken());
    }
}
}
输出结果为:
www
runoob
com
Java 切割字符串的几种方式的更多相关文章
- JAVA截取字符串的几种方式
		在java中提供了很多字符串截取的方式.下面就来看看大致有几种. 1.split()+正则表达式来进行截取. 将正则传入split().返回的是一个字符串数组类型.不过通过这种方式截取会有很大的性能损 ... 
- JAVA中字符串操作几种方式对比
		@参考文章 方法及原理: 方法1:a=a+b实际上另开辟一个空间c=a+b;然后将c的引用赋给a 方法2:a += b实际上是建立一个StringBuffer,然后调用append(),最后再将Str ... 
- 彻底了解构建 JSON 字符串的三种方式
		原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7701856.html 前言:JSON 是轻量级的数据交换格式,很常用,尤其是在使用 Ajax ... 
- Java 存储时间戳的几种方式
		有时需要记录一下数据生成时间的时间戳,精确到秒,这里记录一下java存储时间戳字符串的几种方式 1.DateFormat private static final SimpleDateFormat s ... 
- java 获取时间戳的三种方式
		java 获取时间戳的三种方式 CreationTime--2018年7月13日16点29分 Author:Marydon 1.实现方式 方式一:推荐使用 System.currentTimeMi ... 
- Java中创建对象的几种方式
		Java中创建对象的五种方式: 作为java开发者,我们每天创建很多对象,但是我们通常使用依赖注入的方式管理系统,比如:Spring去创建对象,然而这里有很多创建对象的方法:使用New关键字.使用Cl ... 
- java产生随机数的几种方式
		java产生随机数的几种方式 一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他 ... 
- Java读写文件的几种方式
		自工作以后好久没有整理Java的基础知识了.趁有时间,整理一下Java文件操作的几种方式.无论哪种编程语言,文件读写操作时避免不了的一件事情,Java也不例外.Java读写文件一般是通过字节.字符和行 ... 
- JAVA解析XML的四种方式
		java解析xml文件四种方式 1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这 ... 
随机推荐
- jQuery的插件和跨域、ajax
			1. 插件: 也称组件 什么是: 拥有专属的HTML,CSS和js的独立页面区域 为什么: 重用! 何时: 只要一个功能/区域可能被反复使用时 如何: 3个来源: 1. 官方插件:jquery ui ... 
- HTTP响应格式
			HTTP响应格式 
- docker基本维护命令
			docker search centos ##查服务器上面的镜像:docker images ##查本地的镜像.docker pull centos ##拉镜像. docker run centos ... 
- Java基础知识面试题及答案-整理
			1.String类可以被继承吗? 不能.String类在声明中使用final关键字修饰符.使用final关键字修饰的类无法被继承. Java语言的开发者为什么要将String类定义为final类呢? ... 
- ABAP基础1:概念
			包(Package)也称作开发类,是为了将程序等对象根据功能划分,进行区分和管理而导入的概念 每一个开发对象,如程序.类,都要隶属一个包,包一般隶属于某一个模块 每个包拥有一个CTS号,CTS号用于系 ... 
- windows  package.json设置多个环境变量
			{ "scripts": { "dev1": "serverName=xx1 prefixName=xx2 NODE_ENV=dev pm2 star ... 
- MyBatis In的使用
			http://blog.csdn.net/unei66/article/details/17792503 MyBatis In的使用 标签: mybatisin 2014-01-03 16:23 74 ... 
- 从无到有Springboot整合Spring-data-jpa实现简单应用
			本文介绍Springboot整合Spring-data-jpa实现简单应用 Spring-data-jpa是什么?这不由得我们思考一番,其实通俗来说Spring-data-jpa默认使用hiberna ... 
- hrb
- Spring Boot集成Shrio实现权限管理
			Spring Boot集成Shrio实现权限管理 项目地址:https://gitee.com/dsxiecn/spring-boot-shiro.git Apache Shiro是一个强大且 ... 
