If executed: "2|33|4".split("|")
The result is:
""
2
3
3
4
It’s strange, but you’ll know the reason if you read the API description carefully.
java.lang.string.split
split method
Split a string into sub-strings string and return the result as an array of strings.
stringObj.split([separator, [limit]])
Parameters
stringObj
Required. The String object or literal to be decomposed. The object is not modified by the split method.
separator
Optional. A string or regular expression object that identifies whether one or more characters are used to separate the string. If this option is omitted, a single-element array containing the entire string is returned.
limit
Optional. This value is used to limit the number of elements in the returned array.
Explanation
The result of the split method is a string array, and every position where separator appears in stingObj must be decomposed
So the normal writing method is like this:
1. If If "." is used as a separation, it must be written as follows: String.split("\\."), so that it can be separated correctly. String.split(".");
2. If you use If "|" is used as a separator, it must be written as follows: String.split("\\|"), so that it can be separated correctly. String.split("|");
"." and " "|" are all escape characters, and "\\" must be added;
3. If there are multiple delimiters in a string, you can use "|" as a hyphen, such as: "a=1 and b =2 or c=3”, to separate all three, you can use String.split("and|or");
For more brief analysis of the usage skills of the Split function in Java, please pay attention to PHP. Chinese website!