Java String.split不工作

Java String.split不工作,java,regex,Java,Regex,我有一个以下格式的字符串: CT-d0712728-867d-4cc4-bd0c-b2a679b8385f~#$~2012-10-16 02:13:27 PM 我可以使用String.split ~$~还是必须使用StringTokenizer?上面的字符串中只有2个参数,这就是为什么我尝试使用string.Split ~$,但它似乎不起作用。$在正则表达式中,表示行尾。为了使它简单,您需要转义它,例如使用 \\$, [$] 或使用报价单\\Q$\\E。 因为split方法将参数视为正则表

我有一个以下格式的字符串:

CT-d0712728-867d-4cc4-bd0c-b2a679b8385f~#$~2012-10-16 02:13:27 PM
我可以使用String.split ~$~还是必须使用StringTokenizer?上面的字符串中只有2个参数,这就是为什么我尝试使用string.Split ~$,但它似乎不起作用。

$在正则表达式中,表示行尾。为了使它简单,您需要转义它,例如使用

\\$, [$] 或使用报价单\\Q$\\E。 因为split方法将参数视为正则表达式,而$是正则表达式中的特殊元字符。您需要避开$sign:-

试一试


可以使用String.split执行此操作。不需要使用StringTokenizer。请参见下面的示例

String s="CT-d0712728-867d-4cc4-bd0c-b2a679b8385f~#$~2012-10-16 02:13:27 PM";
        String test[]=s.split("\\~\\#\\$\\~");
        System.out.println(test[0]);
        System.out.println(test[1]);

如果有任何问题,请告诉我

类似的问题。你试的时候发生了什么?您是否将结果捕获到字符串[]中?
String s = "CT-d0712728-867d-4cc4-bd0c-b2a679b8385f~#$~2012-10-16 02:13:27 PM";

Arrays.toString(s.split("~#\\$~"))
String str = "CT-d0712728-867d-4cc4-bd0c-b2a679b8385f~#$~2012-10-16 02:13:27 PM";
String[] pieces = str.split("~#\\$~");
String s="CT-d0712728-867d-4cc4-bd0c-b2a679b8385f~#$~2012-10-16 02:13:27 PM";
        String test[]=s.split("\\~\\#\\$\\~");
        System.out.println(test[0]);
        System.out.println(test[1]);