Transferred from: http://www.blogjava.net/fanyingjie/archive/2010/08/05/328059.html
There is a String.Split () method in the Java.lang package, and the return is an array I use in the application of some, for everyone to summarize, for your reference only:
1. If you use "." As a separate word, it must be written as follows: String.Split ("\ \"), in order to properly separate, can not be used String.Split (".");
2. If you use "|" As a separate word, it must be written as follows: String.Split ("\\|"), so that the correct separation can not be used String.Split ("|"); "." and "|" is an escape character and must be added "\ \";
3. If you have more than one delimiter in a string, you can use the ' | ' As a hyphen, for example: "Acount=?" and UU =? Or n=? ", separating the three, can be used String.Split (" And|or "); When you use the String.Split method to separate a string, the delimiter may not get the result we expect if it uses some special characters.
We look at the JDK Doc description
Public string[] Split (String regex)
Splits this string around matches of the given regular expression.
Parameter regex is a regular-expression matching pattern instead of a simple string, and he may have unexpected results for some special characters, such as testing the following code:
With vertical bar | Delimited string, you will not get the expected result
string[] aa = "AAA|BBB|CCC". Split ("|");
string[] aa = "AAA|BBB|CCC". Split ("\\|"); So we can get the right results.
for (int i = 0; I <aa.length; i++) {
System.out.println ("--" +aa[i]);
}
Running with a vertical * delimited string will throw a Java.util.regex.PatternSyntaxException exception, with a Plus +.
string[] aa = "AAA*BBB*CCC". Split ("*");
string[] aa = "AAA|BBB|CCC". Split ("\\*"); So we can get the right results.
for (int i = 0; I <aa.length; i++) {
System.out.println ("--" +aa[i]);
}
Obviously, the + * is not a valid pattern-matching rule expression, and the correct result can be obtained after escaping with "\\*" "\\+".
The "|" string is executed, but not intended, "\\|" The correct results can be obtained after escaping.
Also, if you want to use the "\" character in a string, you also need to escape. The first thing to say is "aaaa\bbbb" should be used "AAAA\\BBBB", if you want to separate it to get the correct result:
string[] aa = "AAA\\BBB\\BCCC". Split ("\\\\");
The Java String.Split method is to use the note point (GO)