2015-06-21 130 views
-2

我想分裂一个日期刺痛。以下是不工作:用正则表达式分割“。”

String test = "06.09.2015"; 
    String[] arrDateBegin1 = test.split("."); 

,但是这是工作:

String test = "06.09.2015"; 
    String[] arrDateBegin1 = test.split("/."); 

而且这样的:

String test = "06/09/2015"; 
    String[] arrDateBegin1 = test.split("/"); 

为什么比斜线不同点?

+0

可能重复的http://stackoverflow.com/questions/3387622/split-string-on-as-delimiter – Sybren

+2

*“但这是工作:'字符串测试=”06.09.2015“;字符串[] arrDateBegin1 = test.split(“/。”);'“* [不,它不是](http://ideone.com/7JUL2N)。 –

+1

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split%28java.lang.String%29 – anothertest

回答

3

split方法需要在正则表达式的正则表达式(正则表达式)模式和点.代表any character (except line separators)因此如果要匹配点文字,你需要\(在Java的字符串需要写成"\\"逃跑呢 - 因为\也是特殊字符在字符串文字,所以它也需要转义与另一\)。

String[] arrDateBegin1 = test.split("\\."); 
+1

“The dot指示任何字符“但为什么? – Pshemo

+2

我正要说,有些人也会回答问题的答案是明显的重复,并将在任何第二关闭 - 但downvoter删除他们downvote,所以...... :-) –

+0

@ TJCrowder你仍然可以在其他答案下重新发布你的评论:) – Pshemo

-1

点是一个正则表达式字符,因此它必须被转义。它匹配任何字符,不仅是点本身。