文档章节

java中使用split函数时要注意的问题

 李勋
发布于 2010/06/09 10:49
字数 374
阅读 444
收藏 1

在JAVA中, 在使用String.split方法分隔字符串时,但要注意有些字符不能直接用的,分隔符如果用到一些特殊字符,比如 "| " ,"*",等否则会出现问题,以前刚用时就因为这个问题而看了半天的代码。
public String[] split(String regex)

Splits this string around matches of the given regular expression.

   参数regex是一个 regular-expression的匹配模式而不是一个简单的String,他对一些特殊的字符可能会出现你预想不到的结果,比如测试下面的代码:
   用竖线 | 分隔字符串,你将得不到预期的结果
    String[] aa = "aaa|bbb|ccc".split("|");
    //String[] aa = "aaa|bbb|ccc".split("\\|"); 这样才能得到正确的结果
    for (int i = 0 ; i
      System.out.println("--"+aa[i]);
    }
   用竖 * 分隔字符串运行将抛出java.util.regex.PatternSyntaxException异常,用加号 + 也是如此。
    String[] aa = "aaa*bbb*ccc".split("*");
    //String[] aa = "aaa|bbb|ccc".split("\\*"); 这样才能得到正确的结果   
    for (int i = 0 ; i
      System.out.println("--"+aa[i]);
    }
显然,+ * 不是有效的模式匹配规则表达式,用"\\*" "\\+"转义后即可得到正确的结果。
   "|" 分隔串时虽然能够执行,但是却不是预期的目的,"\\|"转义后即可得到正确的结果。
   还有如果想在串中使用"\"字符,则也需要转义.首先要表达"aaaa\bbbb"这个串就应该用"aaaa\\bbbb",如果要分隔就应该这样才能得到正确结果:
   String[] aa = "aaa\\bbb\\bccc".split(" \\\\");

本文转载自:http://lixun5201612.blog.163.com/blog/static/89604840200982824524653

粉丝 4
博文 20
码字总数 0
作品 0
浦东
私信 提问
java中 split方法的使用须知

详细出处参考:http://www.freezq.cn/article/380.htm java中的split函数和js中的split函数不一样。 Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面...

手绘灿烂
2014/04/22
0
0
构造函数、构造代码块、this关键字

构造函数、构造代码块、this关键字 一、构造函数 1.构造函数的作用 给对应的对象进行初始化。 2.构造函数的定义格式 3.构造函数要注意的细节 构造函数是没有返回值类型的。 构造函数的函数名...

JS_HCX
2018/12/07
0
0
关于java中split的使用

之前在http://shukuiyan.iteye.com/blog/507915文中已经叙述过这个问题,但是最近一次笔试中居然有碰到了这个知识点,而且还做错了,囧!学艺不精啊。题目大概是这样的: Java代码 String s...

墨梅
2014/04/28
0
0
kotlin 之 函数的定义与调用

在Kotlin中创建集合 上一章我们已经使用函数创建一个set了。同样的,我们也可以用类似的方法创建一个list或者map: 并不是一个特殊的结构,而是一个普通函数,在后面会继续探讨它。 有没有想...

伯羽君
2018/12/08
0
0
Java高级开发必会的50个性能优化的细节

在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。 ● 1. 尽量在合适的场合使用单例 如果想学习Java工程化、高性能...

编程SHA
03/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

linux日志切割工具 logrotate

Linux系统默认安装logrotate,默认的配置文件: /etc/logrotate.conf /etc/logrotate.d/ logrotate.conf:为主配置文件 logrotate.d:为配置相关子系统,用于隔离每个应用配置(Nginx、PHP、...

llzzzz
12分钟前
0
0
不得不收藏的大数据Hadoop教程:Hadoop集群搭建

搭建环境安装时间同步Yum install -y ntpdate 网络时间同步命了 服务器地址是阿里云ntpdate ntp1.aliyun.com 手动时间同步方式date -s "20190622 12:32:00" #yyyymmdd hh:mm:ss完全分布式服务...

好程序员IT
15分钟前
0
0
xhprof php性能分析工具

php7 没有官方版 下载地址git clone https://github.com/longxinH/xhprof cd xhprof/extension/ 进入目录指定phpconfig地址进行安装 extension=xhprof.so xhprof.output_dir=/tmp 安装包中x......

曲文
16分钟前
0
0
CentOS7安装GitLab的过程详解

安装Gitlab Step 1.安准基础依赖 $ yum install -y curl policycoreutils-python openssh-server Step 2.安装Postfix 说明:Postfix是一个邮件服务器,GitLab发送邮件需要用到 $ yum ins...

Linux_Anna
16分钟前
0
0
Centos 用docker安装Confluence

1. 下载官方镜像 docker pull atlassian/confluence-server:6.15.7-alpine 2. 创建并运行容器 docker run -m 1024M --memory-swap -1 -host --net=host --name wiki -d -p 8090:8090 -p 800......

熊小熊会写代码哦
30分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部