次の形式の文字列があります。
CT-d0712728-867d-4cc4-bd0c-b2a679b8385f~#$~2012-10-16 02:13:27 PM
StringTokenizer を使用できますString.split("~#$~")
か、または使用する必要がありますか? 上記の文字列には2つのパラメーターしかありません。そのため、 String.Split("~#$~") を使用しようとしていましたが、機能していないようです。
$
正規表現の特殊文字です(「行末」を意味します)。単純なリテラルにするには、次のようにエスケープする必要があります
"\\$"
、"[$]"
"\\Q$\\E"
。split()
method は としてパラメーターを取り、 のRegex
特別$
なメタキャラクターであるためRegex
。記号をエスケープする必要があります$
: -
System.out.println(str.split("~#\\$~")[0]);
System.out.println(str.split("~#\\$~")[1]);
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("~#\\$~");