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是以层次结构组织的节点或信息片断的集合.这 ...
随机推荐
- 根据name获取控件
javascript: document.getElementsByName("name")[index]; jquery: $("tr[name='name']&quo ...
- 王艳 201771010127《面向对象程序设计(java)》第十三周学习总结
一:理论部分. 1.事件处理基础. 1)事件源:能够产生事件的对象都可以成为事件源,如文本框.按钮等.一个事件源是一个能够注册监听器并向监听器发送事件对象的对象. 2)事件监听器:事件监听器对象接收事 ...
- 自己写的vue底导航
<template> <div id="app"> <div class="tabbar"> <div class=& ...
- Redis-Redis基本类型及使用Java操作
1 Redis简介 Redis(REmote Dictionary Server)是一个使用ANSI C编写的.开源的.支持网络的.基于内存的.可持久化的键值对存储系统.目前最流行的键值对存储 ...
- 前端星计划笔记-day1
前端 功能,美观,安全,无障碍,性能,兼容,体验 前端编程思想 WA doctype: 文档版本 浏览器决定渲染模式 语义化: 所有的标签都有自己的含义,属性 可读性 前端规范 whatwg css显 ...
- 配置单机Kafka
配置单机kafka 关闭selinux,开启防火墙9092端口 1.关闭selinux vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXT ...
- debug PHP程序(xdebug、IntelliJ IDEA)
之前写PHP程序的都是echo调试,今天感觉太麻烦了就想起研究一下IntelliJ IDEA如何调试PHP程序. 从网上查找了很多资料,大部分都提到在IDE里开启服务,一下就懵了,怎么启这么多服务呢. ...
- Chisel3 - Tutorial - Functionality
https://mp.weixin.qq.com/s/3hDzpJiANdwp07hO03psyA 演示使用函数进行代码复用的方法. 参考链接: https://github.com/ucb- ...
- [精华帖]Java接口怎么定义?如何使用?【实例讲解】
[精华帖?]滑稽之谈||| 题目: 模拟电脑USB功能设备使用 1.定义USB接口,具备最基本的开启功能和关闭功能 2.定义电脑类,具有开机.关机以及使用usb设备功能 3.鼠标类.具有usb功能,并 ...
- 面试题: SpringBoot 的自启动原理
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 引言 不论在工作中,亦或是求职面试,Spring Boot 已经成为我们必知必会的技能项.除了比较老旧的 ...