JAVA 一个或多个空格分割字符串

知识补充

  1. String的split方法支持正则表达式;

  2. 正则表达式\s表示匹配任何空白字符,+表示匹配一次或多次。

有了以上补充知识,下面的内容就很好理解了。

一、待分割字符串

待分割字符串为如下:

String str = "a  b     c  d e f      g"

其中,字符串中的的空白分别为:单个空格,多个空格,tab制表符。

二、使用一个或多个空格分割字符串

正确代码如下:

String [] arr = str.split("\\s+");
for(String ss : arr){ System.out.println(ss); }

作为对比,错误代码如下:

String [] arr2 = str.split(" ");
for(String ss : arr2){ System.out.println(ss); }

三、分割结果

使用正确代码分割结果:

a
b
c
d
e
f
g

使用错误代码分割结果:

abcd
e
fg
四:编写的程序
    public static void main(String args[]) {String line = "good12 morning34 good56 night78";//对String进行split之后的数组的输出String[] tt=line.split("\\s+");for(String s:tt){System.out.println(s);}System.out.println("#####");
}输出结果为
good12
morning34
good56
night78

特殊情况有 * ^ : | . \

一、单个符号作为分隔符 

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

  • String address="上海|上海市|闵行区|吴中路";
String[] splitAddress=address.split("\\|"); //如果以竖线为分隔符,则split的时候需要加上两个斜杠【\\】进行转义
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);

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

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

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

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

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

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

 二、多个符号作为分隔符

String address="上海^上海市@闵行区#吴中路";

String[] splitAddress=address.split("\\^|@|#");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);    

例:

 String address = new String("192.168.13.240");String[] str = address.split("\\.");for(String s : str){System.out.println(s);}

输出格式:
192
168
13
240
 
总结:(1)split表达式,其实就是一个正则表达式。*  ^ | 等符号在正则表达式中属于一种有特殊含义的字符,如果使用此种字符作为分隔符,必须使用转义符即\\加以转义。

          (2)如果使用多个分隔符则需要借助 | 符号,如二所示,但需要转义符的仍然要加上分隔符进行处理

 

java之split用法注意相关推荐

  1. Java String.split()用法小结

    2019独角兽企业重金招聘Python工程师标准>>> 在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: ...

  2. java spilt是什么意思,java split源码(java中split用法)

    最佳案split(参数)的参数是个正则表达式的字符串. 首先Java中的"\"的后面只能带下面几个字符 ,也就是" \b \t \n \f \r \" \' \\&quo ...

  3. java string()函数_转载java String.split()函数的用法详解

    转载java String.split()函数的用法详解 如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!在java.lang包中有String.split()方法的原型是: p ...

  4. Java中split函数的用法及使用示例

    Java中split函数的用法及使用示例 2010-05-04 10:21 日志原文:http://lhgc.blog.sohu.com/80444801.html java.lang.string. ...

  5. Java split()用法,使用特殊字符要注意了

    Java split()用法,使用特殊字符要使用转义字符. 特殊字符有 * ^ : | . \ 1.单个符号作为分隔符  特殊符号* .split("\\*"); 特殊符号^ .s ...

  6. JAVA中split函数的用法

    JAVA中split函数的用法 只写经常使用的,并不完整. 1.基本用法,将字符串按照指定字符串进行分割,例如: public class Main {public static void main( ...

  7. java按照空格分割,Java用split实现分割含一个或多个空格的字符串

    Java用split实现分割含一个或多个空格的字符串 发布时间:2020-11-02 16:28:29 来源:亿速云 阅读:66 作者:Leah 本篇文章给大家分享的是有关Java用split实现分割 ...

  8. java的split函数

    java的split函数的初步认识 1.函数的用途 对传入的字符串,用任意的字符串进行分隔 1.最普通的用法String str1 = "aa,bb";String[] split ...

  9. 四种Java线程池用法解析

    四种Java线程池用法解析 本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 ...

  10. 2020-12-17 【 java优先队列的用法】

    java优先队列的用法 peek是top() 只取最上面的元素 poll是pop() 弹出 add是添加 push 类的比较器,相对于仿函数 struct cmp{ bool operator ()( ...

最新文章

  1. 2022-2028年中国再生金属行业投资分析及前景预测报告
  2. 人工神经网络基本特点
  3. c++11仔细地将参数传递给线程std::thread
  4. 【ArcGIS风暴】最牛逼空间数据批处理神器来了:用户自定义工具箱GeoStorm.tbx
  5. BZOJ1023 [SHOI2008]cactus仙人掌图
  6. java 工作流_【JAVA之工作流介绍】
  7. 拓端tecdat|R语言时间序列TAR阈值自回归模型
  8. 谷歌gmail注册入口_如何删除您的Gmail帐户而不删除您的Google帐户
  9. api-gateway的pom文件
  10. PTA题目 查询水果价格
  11. vdbench 配置案例及参数说明
  12. 你的人生是先装石头还是装沙子?
  13. 全新趣味测试威信小程序源码
  14. 【2020年4月9我和小峰子的聊天】
  15. 最简单的神经网络的例子,神经网络简单应用实例
  16. Python基础教程第七章学习笔记——更加抽象
  17. 年后“离职潮”来袭,跳槽不注意这些亏大了!
  18. 2. Packet crafting tools (封包工具 6个)
  19. 如何快速配置OA、CRM、ERP等管理软件
  20. oracle查询结果添加序列,SQL查询结果增加序列号

热门文章

  1. 2018.12.12 第九章虚拟内存
  2. js右下角广告[兼容]
  3. POJ 1182 食物链(带权并查集)
  4. 第一篇:webservice初探
  5. MVCPager学习小记
  6. 归并排序法计算逆序对数
  7. Spring搭建MVC WEB项目[转]
  8. Razor基础语法简介
  9. C#事件-什么是事件
  10. 微博返回顶部按钮实现方法大剧透