我有一个以下格式的字符串:
CT-d0712728-867d-4cc4-bd0c-b2a679b8385f~#$~2012-10-16 02:13:27 PM
我可以使用String.split("~#$~")
还是必须使用 StringTokenizer?我将在上面的字符串中只有 2 个参数,这就是为什么我试图使用 String.Split("~#$~") 但它似乎不起作用。
$
是正则表达式中的特殊字符(表示“行尾”)。为了使其简单文字,您需要对其进行转义,例如使用
"\\$"
,"[$]"
"\\Q$\\E"
。由于split()
方法将参数作为Regex
, 并且$
是 . 中的特殊元字符Regex
。您需要转义$
标志:-
System.out.println(str.split("~#\\$~")[0]);
System.out.println(str.split("~#\\$~")[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.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]);
让我知道你有任何问题。