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("\\");

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

WebStorm Mac version
Useful JavaScript development tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft
