Home > 类库下载 > java类库 > body text

Summary of Java String.split() usage

巴扎黑
Release: 2016-11-26 09:11:29
Original
1776 people have browsed it

There is a String.split() method in the java.lang package, and the return is an array.

I have used some of them in my application. Let me summarize them for your reference only:

1. If you use "." as a separator If so, it must be written as follows, String.split("\."), so that it can be separated correctly. String.split(".") cannot be used;

2. If "|" is used as the separation, it must It is written as follows, String.split("\|"), so that it can be separated correctly. String.split("|") cannot be used;

"." and "|" are both escape characters and must be Add "\";

3. If there are multiple delimiters in a string, you can use "|" as a hyphen, for example, "acount=? and uu =? or n=?" To separate them, you can use String.split("and|or");

When using the String.split method to separate strings, if the separator uses some special characters, we may not get the expected results.

Let’s look at the instructions in jdk doc

public String[] split(String regex)

Splits this string around matches of the given regular expression.

The parameter regex is a regular-expression matching pattern rather than a simple String , it may produce unexpected results for some special characters. For example, if you test the following code and use vertical bars | to separate strings, you will not get the expected results

Java code

String[] aa = "aaa|bbb|ccc".split("|");

//String[] aa = "aaa|bbb|ccc".split("\|"); This way you can get the correct result

for (int i = 0; i

System.out.println("--"+aa[i]);

}

Using vertical * to separate strings will throw a java.util.regex.PatternSyntaxException exception, as will using the plus sign +.

Java code

String[] aa = "aaa*bbb*ccc".split("*");

//String[] aa = "aaa|bbb|ccc".split(" \*"); Only in this way can you get the correct result                                                                                                                                                                                           ​]);

}

Obviously, + * is not a valid pattern matching rule expression, and you can get the correct result after escaping it with "\*" "\+".

"|" can be executed when separating strings, but it is not the intended purpose. The correct result can be obtained after escaping "\|".

Also, if you want to use the "" character in a string, you also need to escape it. First of all, to express the string "aaaabbbb", you should use "aaaa\bbbb". If you want to separate it, you should use this to get the correct result.

Java code

String[] aa = "aaa\bbb\bccc".split("\\");

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template