一个String字符串的问题2 博客分类: Java 正则表达式
程序员文章站
2024-03-13 14:15:45
...
背景:
今天遇到个问题:
output:
一个是得到了空String数组,另一个则拥有一个字符的数组。为什么会这样呢?
分析:
String.split方法是接收正则表达式的,而默认情况下,split方法就把点号,当作正则表达式来处理了。点号在java的正则表达式里表示的是所有的字符。所以如果我们要以点号作为分隔符就必须对点号进行转义,通常用反斜杠作为转义字符"\.",所以上面我们就要split("\\.")来分隔,这个是因为java里不能识别反斜杠,必须要再用反斜杠进行转义才能做到编译不出错。
找了一篇java正则表达式的文章,如下:
http://www.tutorialspoint.com/java/java_regular_expressions.htm
还有一个中文版的:
http://www.runoob.com/java/java-regular-expressions.html
----EOF----
今天遇到个问题:
String str = "clu"; String[] arrays0 = str.split("."); String[] arrays1 = str.split("\\."); log.info("####hi0" + gson.toJson(arrays0)); log.info("####hi1" + gson.toJson(arrays1));
output:
14:20:59.734 [main] INFO com.clu.bleach.demo.StringDemo - ####hi0[] 14:20:59.737 [main] INFO com.clu.bleach.demo.StringDemo - ####hi1["clu"]
一个是得到了空String数组,另一个则拥有一个字符的数组。为什么会这样呢?
分析:
String.split方法是接收正则表达式的,而默认情况下,split方法就把点号,当作正则表达式来处理了。点号在java的正则表达式里表示的是所有的字符。所以如果我们要以点号作为分隔符就必须对点号进行转义,通常用反斜杠作为转义字符"\.",所以上面我们就要split("\\.")来分隔,这个是因为java里不能识别反斜杠,必须要再用反斜杠进行转义才能做到编译不出错。
找了一篇java正则表达式的文章,如下:
http://www.tutorialspoint.com/java/java_regular_expressions.htm
还有一个中文版的:
http://www.runoob.com/java/java-regular-expressions.html
----EOF----
推荐阅读
-
一个String字符串的问题2 博客分类: Java 正则表达式
-
ssi架构下使用struts2的标签的一个小问题 博客分类: web框架
-
用java解决百度之星移动火柴的问题 part 2 博客分类: Design & Architecture 百度JavajunitCC++
-
Java去除字符串中的空格 博客分类: Java Java String
-
java 面试中的一道编写一个截取字符串的函数 博客分类: J2EE Java面试编程
-
关于关闭Java DB(Derby)时抛出异常的问题 博客分类: BlogJava2 DerbyJavaApacheJDBCJVM
-
一个完整的混合加密方式在Socket客户机服务器通信应用中的例子 博客分类: java 应用服务器Socket正则表达式SecurityGmail
-
关于Arc2D的角度问题 博客分类: Java 2D/3D 360Swing
-
Java 中的正则表达式 博客分类: Java基础笔记 正则表达式JavaUnixF#J2SE
-
Java 中的正则表达式 博客分类: Java基础笔记 正则表达式JavaUnixF#J2SE