Java String中的split方法使用总结

目录
  • String中split方法使用
    • 1、一般用法
    • 2、需要转义的分隔符
    • 3、多个符号作为分隔符
    • 4、空值的存储
  • String.split()需要的转义字符
    • 转义字符

String中split方法使用

String的split()方法用于按传入的字符或字符串对String进行拆分,返回拆分之后的数组。

1、一般用法

用一般的字符,例如@或,等符号做分隔符时:

String address="上海@上海市@闵行区@吴中路";
String[] splitAddr=address.split("@");
System.out.println(splitAddr [0]+splitAddr [1]+splitAddr [2]+splitAddr [3]);

2、需要转义的分隔符

当使用* ^ : | . \等6个符号做分隔符时,上述6个符号转义字符,必须得加"\\",即split(“\\^”)等。第二个“\”是用来给这6种符号转义,第一个“\”是用来给第二个“\”转义。

String address="上海*上海市*闵行区*吴中路";
String[] splitAddr=address.split("\\*");  
System.out.println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3]);

其中有个更特殊的,就是“\”。如果字符串中想要使用"\",就应该使用"\\"进行转义。也就是说,对于"a\b",应该写成"a\\b",而如果想要用split方法针对"\"进行拆分,应该使用"a\\b".split("\\\\")。

3、多个符号作为分隔符

可以用“|”字符作为连字符,把多个分隔符分隔的内容都区分开:

String address="上海^上海市@闵行区#吴中路";
String[] splitAddr=address.split("\\^|@|#");
System.out.println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3]);  

4、空值的存储

如果split(String s)函数产生了空值,那么不会存到数组中。可以通过使用它的重载函数split(";",-1)实现空值的保存。这里的“;”只是作为分隔符的一个例子。

String.split()需要的转义字符

注意“/”和“-”,"&"不是转义字符。

String str="aaaa/aaaa/aaaa";
String[] strings=str.split("/");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa-aaaa-aaaa";
String[] strings=str.split("-");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa&aaaa&aaaa";
String[] strings=str.split("&");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}

转义字符

  • |
  • \
  • $
  • *
  • +
  • .
  • ?
  • ^
  • (
  • )
  • [
  • ]
  • {
  • }
String str="aaaa|aaaa|aaaa";
String[] strings=str.split("\\|");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa\\aaaa\\aaaa";
String[] strings=str.split("\\\\");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa$aaaa$aaaa";
String[] strings=str.split("\\$");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa*aaaa*aaaa";
String[] strings=str.split("\\*");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa+aaaa+aaaa";
String[] strings=str.split("\\+");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa.aaaa.aaaa";
String[] strings=str.split("\\.");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa?aaaa?aaaa";
String[] strings=str.split("\\?");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa^aaaa^aaaa";
String[] strings=str.split("\\^");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}
String str="aaaa(aaaa(aaaa";
String[] strings=str.split("\\(");
for (int i = 0; i < strings.length; i++) {
    System.out.println(strings[i]);
}

所有的括号都是转义字符。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Java中String的split切割字符串方法实例及扩展

    目录 一.public String[] split(String regex) 二.public String[] split(String regex, int limit) 三.扩展 总结 一.public String[] split(String regex) public String[] split(String regex): 根据传入的字符串参数,作为规则,切割当前字符串 String a="198,168,10,1"; String [] arr=a.split(&

  • java String.split 无法使用小数点分割的问题

    目录 String.split 无法使用小数点分割 解决方法 String.split()方法的注意点(转义符) 1.字符串中存在.和|的时候 2.如果在一个字符串中有多个分隔符 String.split 无法使用小数点分割 当我分割文件名的时候,想使用split来进行分割,由于文件名使用的是".",当我使用此分割时候数组返回无效 当然也可以使用indexof+length的方式来截取 解决方法 连续使用"\\."对小数点进行转义即可 因此我去eclipse测试了下

  • java关于String.split("|")的使用方式

    目录 String.split("|")的使用 我们先来写一段代码测试一下 你知道结果是什么吗? String.split() 特殊字符处理 split函数 特殊符号的处理 示例 String.split("|")的使用 我们先来写一段代码测试一下 public class TestSplit { public static void main(String[] a){ String test = "中文|英文"; print(test.spli

  • Java中String.split()的最详细源码解读及注意事项

    目录 前言 一.split(regex,limit) 二.split(regex) 总结 前言 博主针对字符串分割时出现的各种空字符串问题,进入String类的源码看了一下,现作如下解读及演示: 一.split(regex,limit) 首先是带有两个参数的split方法: 作用: 将以给定正则表达式(regex)的字符串分隔开来 第一个参数是传入字符类型的分隔符,如 “,” 等(可以是任何字符串) 第二个参数传入整型的limit,代表的是将此字符串分割成n部分(这里的n就是limit). 返回

  • Java String中的split方法使用总结

    目录 String中split方法使用 1.一般用法 2.需要转义的分隔符 3.多个符号作为分隔符 4.空值的存储 String.split()需要的转义字符 转义字符 String中split方法使用 String的split()方法用于按传入的字符或字符串对String进行拆分,返回拆分之后的数组. 1.一般用法 用一般的字符,例如@或,等符号做分隔符时: String address="上海@上海市@闵行区@吴中路"; String[] splitAddr=address.spl

  • PL/SQL实现JAVA中的split()方法的例子

    众所周知,java中为String类提供了split()字符串分割的方法,所以很容易将字符串以指定的符号分割为一个字符串数组.但是在pl/sql中并没有提供像java中的split()方法,所以要想在pl/sql中实现字符串的分割还需要自己动手.由于在项目中需要用到此类方法,所以自己研究了一下,方便以后参考.这里以逗号作为分隔符为例,代码如下: declare v_str varchar2(200) := 'abd,324,u78,23f,sd09,2345,dsaf,9079'; type s

  • 浅谈Java的String中的subString()方法

    方法如下: public String substring(int beginIndex, int endIndex) 第一个int为开始的索引,对应String数字中的开始位置, 第二个是截止的索引位置,对应String中的结束位置 1.取得的字符串长度为:endIndex - beginIndex; 2.从beginIndex开始取,到endIndex结束,从0开始数,其中不包括endIndex位置的字符 如: "hamburger".substring(4, 8) returns

  • Java 基础:string中的compareTo方法

    目录 一,java.lang.Comparable 接口 二,java.util.Comparator 接口 三,聊聊string中的compareTo方法 前言: 今天看了一篇gitchat的文章,标题是 聊聊 Java String 源码的排序算法,从中有所感悟和思考,因此打算总结下自己看的过程中的收获 一,java.lang.Comparable 接口 Comparable 接口强制了实现类对象列表的排序.其排序称为自然顺序,其 compareTo 方法,称为自然比较法 public in

  • 详解Java String中intern方法的原理与使用

    目录 简介 常量池简介 intern方法简介(JDK7) 原理(JDK6与JDK7) 例程测试 例程分析 jdk1.6 jdk1.7 应用实例 简介 本文介绍Java的String的intern方法的原理. 常量池简介 在 JAVA 语言中有8种基本类型和一种比较特殊的类型String.这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池(在方法区)的概念.常量池就类似一个JAVA系统级别提供的缓存.8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊. Str

  • Java String中移除空白字符的多种方式汇总

    前言 字符串,是Java中最常用的一个数据类型了.我们在日常开发时候会经常使用字符串做很多的操作.比如字符串的拼接.截断.替换等. 这一篇文章,我们介绍一个比较常见又容易被忽略的一个操作,那就是移除字符串中的空格. 其实,在Java中从字符串中删除空格有很多不同的方法,如trim,replaceAll等.但是,在Java 11添加了一些新的功能,如strip.stripLeading.stripTrailing等. 大多数时候,我们只是使用trim方法来删除多余的空格.但是好像很多人并没有去思考

  • Java线程中的常见方法(start方法和run方法)

    目录 start方法和run方法 示例代码 注意 sleep方法与yield方法 sleep yield 线程优先级 sleep的应用-防止cpu占用100% join方法 有实效的等待 interrupt方法 打断正常运行的线程,不会清空打断状态 守护线程 start方法和run方法 $start()$方法用来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到$cpu$时间片,就开始执行$run()$方法.而直接调用$run()$方法,仅仅只是调用了一个类里的方法,其本质上还

  • Java编程中避免equals方法的隐藏陷阱介绍

    摘要 本文描述重载equals方法的技术,这种技术即使是具现类的子类增加了字段也能保证equal语义的正确性. 在<Effective Java>的第8项中,Josh Bloch描述了当继承类作为面向对象语言中的等价关系的基础问题,要保证派生类的equal正确性语义所会面对的困难.Bloch这样写到: 除非你忘记了面向对象抽象的好处,否则在当你继承一个新类或在类中增加了一个值组件时你无法同时保证equal的语义依然正确 在<Programming in Scala>中的第28章演示

  • python3去掉string中的标点符号方法

    网上看到的python去掉字符串中的标点符号的方法,大多是基于python2的,不适用python3,调整后代码如下: 代码 lower_case_documents = ['Hello, how are you!','Win money, win from home.','Call me now.','Hello, Call hello you tomorrow?'] sans_punctuation_documents = [] import string for i in lower_ca

  • java ArrayList中的remove方法介绍

    先看一段代码,看看自定义的ArrayList中的remove设计是否有问题. public class MyArrayList { private Object[] mData = new Object[0]; private int mSize = 0; // 删除第i个元素 public void remove(int i) { if (i < 0 || i >= mSize) return; for (int index = i; index < mSize - 1; index+

随机推荐