Java字符串拆分

时间:2014-02-28 21:17:15

标签: java string

"2/17/2014 11:55:00 PM"

我想将Java中的上述字符串拆分为以下部分:2,17,2014,11,55,00,PM。

我在考虑使用像

这样的东西
String[] parts = string.split("[/ :]");

但它似乎没有用。如果可能的话,我想在一个命令中拆分所有内容。

5 个答案:

答案 0 :(得分:1)

尝试:

String[] strings = "2/17/2014 11:55:00 PM".split("/| |:");

如果您只想要一个字符串,请尝试替换为“,”

 String x = "2/17/2014 11:55:00 PM".replaceAll("/| |:", ", ");

答案 1 :(得分:1)

我认为您正在寻找空间的方式存在问题。尝试

[:\\s\\/]

它将查找冒号(:),“空格字符”(制表符或空格),然后是斜杠(必须用反斜杠转义)。

答案 2 :(得分:0)

您可以使用正则表达式进行拆分,如下所示:

public class Test {
    public static void main(String[] args) {
        String s = "2/17/2014 11:55:00 PM";
        String[] parts = s.split("/|:| ");
        for (String p : parts)
            System.out.println(p);  
    }   
}

管道'|'正则表达式中的运算符表示OR。所以你的标准是正斜杠,冒号或空格。

这会产生以下结果。

$ javac Test.java
$ java Test
2
17
2014
11
55
00
PM

答案 3 :(得分:0)

这在这里得到解答,猜测:Use String.split() with multiple delimiters

String a="2/17/2014 11:55:00 PM";
String[]tokens = a.split("/| |:");

试试吧

答案 4 :(得分:0)

它对我有用:

  String s="2/17/2014 11:55:00 PM";
  String[] parts = s.split("[/ :]");

输出:

for (String s: parts)
    System.out.println(s);

==>

run:
2
17
2014
11
55
00
PM
BUILD SUCCESSFUL (total time: 0 seconds)