splitとStringTokenizerが複数の区切り文字を使用する場合
1377 ワード
public String[] split(String regex)
この文字列は、指定された正規表現の一致に基づいて分割されます.
この文章は主に、複数の区切り記号が必要な場合、どのように書くべきかを説明しています.
コード:
実行結果:
結果は私たちが予想したように、splitの正規表現が次のフォーマットに書かれている場合:content.split(".|;||||,")では、結果はどうなるのでしょうか.興味のある子供靴は自分でテストすることができます.
注意:
1、「.」を使うと「|」と区切り記号として、エスケープが必要です.すなわちsplit("\.")と書きます.あるいはsplit("\|")では、予想通りの結果が得られます.
したがって、私たちの区切り文字自体がエスケープ文字である場合、私は「|」で区切られていることをシステムに伝えなければなりません.ここで「|」はエスケープ文字ではありません.
2、ある文字列を処理するために複数の区切り文字が必要な場合は、接続文字として「|」を使用します.例えば、content.split("\\.|;|#|,").
この文字列は、指定された正規表現の一致に基づいて分割されます.
public StringTokenizer(String str, String delim)
str
-解析する文字列.delim
-区切り記号.この文章は主に、複数の区切り記号が必要な場合、どのように書くべきかを説明しています.
コード:
import java.util.StringTokenizer;
public class MultiplySeparator {
//
public static void main(String[] args) {
String content = "a,b,c,d;e;f.g,d;f.h.z.v.b.m#e";
String[] results = content.split("\\.|;|#|,"); //
for(int i = 0; i < results.length; i++) {
System.out.println(results[i]);
}
System.out.println("==== ====");
StringTokenizer st = new StringTokenizer(content, ".,#");
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}
実行結果:
a
b
c
d
e
f
g
d
f
h
z
v
b
m
e
==== ====
a
b
c
d;e;f
g
d;f
h
z
v
b
m
e
結果は私たちが予想したように、splitの正規表現が次のフォーマットに書かれている場合:content.split(".|;||||,")では、結果はどうなるのでしょうか.興味のある子供靴は自分でテストすることができます.
注意:
1、「.」を使うと「|」と区切り記号として、エスケープが必要です.すなわちsplit("\.")と書きます.あるいはsplit("\|")では、予想通りの結果が得られます.
したがって、私たちの区切り文字自体がエスケープ文字である場合、私は「|」で区切られていることをシステムに伝えなければなりません.ここで「|」はエスケープ文字ではありません.
2、ある文字列を処理するために複数の区切り文字が必要な場合は、接続文字として「|」を使用します.例えば、content.split("\\.|;|#|,").