String. Split () usage)

Source: Internet
Author: User

The Java. lang package contains the string. Split () method, and an array is returned.
I have used some of them in the application. I will summarize them for your reference only:
1. If ". ", must be written as follows: string. split ("\\. "), in this way, the correct separation is not allowed using string. split (". ");
2. If "|" is used as the separator, it must be written as follows: string. split ("\ |"), in order to correctly separate, cannot use string. split ("| ");
"." And "|" are escape characters and must be added "\\";
3. If a string contains multiple delimiters, you can use "|" as a hyphen, for example, "acount =? And UU =? Or n = ?", Use string. Split ("and | or") to separate all three ");
When the string. split method is used to separate strings, if some special characters are used as separators, the expected results may not be obtained.

Let's seeJDK Doc description

 
PublicString[]Split(StringRegEx)

 

Splits this string around matches of the givenRegular Expression.

 

ParametersRegEx is a regular-expression matching mode instead of a simple string. It may produce unexpected results for some special characters, such asCode:

Use vertical bars | to separate strings and you will not get the expected results

String [] AA = "AAA | BBB | CCC". Split ("| ");
// String [] AA = "AAA | BBB | CCC". Split ("\\|"); in this way, the correct result can be obtained.

For (INT I = 0; I <AA. length; I ++ ){
System. Out. println ("--" + AA [I]);
}

Running a string separated by vertical bars will throw a java. util. RegEx. patternsyntaxexception, as is the case with the plus sign +.

String [] AA = "AAA * BBB * CCC". Split ("*");
// String [] AA = "AAA | BBB | CCC". Split ("\ *");

For (INT I = 0; I <AA. length; I ++ ){
System. Out. println ("--" + AA [I]);
}

Obviously, + * is not a valid Regular Expression for pattern matching. You can escape it with "\ *" "\ +" to get the correct result.

"|" The separator string can be executed, but it is not the expected purpose. "\ |" escape to get the correct result.

If you want to use the "\" character in the string, you also need to escape it. the expression "AAAA \ BBBB" should be "AAAA \ BBBB" first. If it is to be separated, the correct result should be obtained:

String [] AA = "AAA \ BBB \ BCCC". Split ("\\\\");

From: http://hi.baidu.com/danghj/blog/item/7259c2b461bebc708bd4b21e.html

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.