java關(guān)于String.split("|")的使用方式
String.split("|")的使用
我們先來寫一段代碼測試一下
public class TestSplit {
public static void main(String[] a){
String test = "中文|英文";
print(test.split("|"));
print(test.split(""));
print(test.split("\\|"));
}
public static void print(String[] a){
System.out.println("============================");
for(String i:a){
System.out.println(i);
}
System.out.println("============================\n");
}
}你知道結(jié)果是什么嗎?
如下:
============================
中
文
|
英
文
========================================================
中
文
|
英
文
========================================================
中文
英文
============================
所以我們從上面可以知道:“|”和“”的效果是一樣的,如果你要得到正確的結(jié)果你必須這樣“\|”,雙引號里面的是一個正則表達式。

String.split() 特殊字符處理
- jdk 1.8
split函數(shù)
注意,split函數(shù)的參數(shù)是正則表達式。split函數(shù)的定義為:
/**
* Splits this string around matches of the given <a
* href="../util/regex/Pattern.html#sum" rel="external nofollow" >regular expression</a>.
*
* <p> This method works as if by invoking the two-argument {@link
* #split(String, int) split} method with the given expression and a limit
* argument of zero. Trailing empty strings are therefore not included in
* the resulting array.
*
* <p> The string {@code "boo:and:foo"}, for example, yields the following
* results with these expressions:
*
* <blockquote><table cellpadding=1 cellspacing=0 summary="Split examples showing regex and result">
* <tr>
* <th>Regex</th>
* <th>Result</th>
* </tr>
* <tr><td align=center>:</td>
* <td>{@code { "boo", "and", "foo" }}</td></tr>
* <tr><td align=center>o</td>
* <td>{@code { "b", "", ":and:f" }}</td></tr>
* </table></blockquote>
*
*
* @param regex
* the delimiting regular expression
*
* @return the array of strings computed by splitting this string
* around matches of the given regular expression
*
* @throws PatternSyntaxException
* if the regular expression's syntax is invalid
*
* @see java.util.regex.Pattern
*
* @since 1.4
* @spec JSR-51
*/
public String[] split(String regex) { ... }
特殊符號的處理
split函數(shù)的參數(shù)是正則表達式,則正則表達式的特殊符號作為分隔符時,就需要特殊處理。
比如,.在正則表達式中是通配符,匹配除換行符(\n、\r)之外的任何單個字符。
對特殊符號的處理方法有兩種:
- 轉(zhuǎn)義。比如,\.
- 放到中括號里。比如,[.]
示例
String[] s1 = "a.b.c".split("\\.");
System.out.println(Arrays.asList(s1)); //[a, b, c]
String[] s2 = "a.b.c".split("[.]");
System.out.println(Arrays.asList(s2)); //[a, b, c]以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot實現(xiàn)嵌入式 Servlet容器
@RequestParam 接收參數(shù)的值為null的處理方式
Java實戰(zhàn)之在線寄查快遞系統(tǒng)的實現(xiàn)
Java語法基礎(chǔ)之運算符學(xué)習(xí)筆記分享

