区切り文字 // で区切ることができる区切り文字が必要な場合、どのように実装できますか?
例えば:
String str="i have a ball // do i /g f y"
区切り文字を にしたい"//"
ので、結果は次のようになります。
"do i /g f y"
文字列"//"
はセパレーターとして直接使用でき、エスケープする必要はありません。
String[] data = str.split("//");
で別の状況が発生します。文字は正規表現でエスケープ文字として使用され、その前に別の文字を配置してエスケープする必要があり"\\"
ます。'\'
'\'
String[] data = str.split("\\\\");
質問で指定したように、テールだけが必要な場合は、分割する必要はありませんが、次のようにします。
result = str.substring(str.indexOf("//") + 2);
コード:
String testString = "dog//cat//meow/ok";
String[] tokens = testString.split("//");
for(String token: tokens){
System.out.println(token);
}
出力:
dog
cat
meow/ok
theString.split( "//" );
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String)
argは正規表現であるため、エスケープが必要になる場合がありますが、それは機能するはずです。