java split方法中的一些注意點
阿新 • • 發佈:2019-01-30
今天用split方法分割一個類似”9580|9570|9571”的字串,用Arrays.asList將String[]轉成List,結果卻是這樣
[9,5,8,0,|,9,5,7,0,|,9,5,7,1]
列出幾個要點
首先java doc裡已經說明, split的引數是reg, 即正則表示式, 如果用”|”分割, 則需使用”\|”
用* 分隔字串執行將丟擲java.util.regex.PatternSyntaxException異常,用加號 + 也是如此, 因此也應加入”\”
如果字串中包含”\”,首先這個字串中的”\”需要轉義, 即為”\”, 用split時需要寫成split(“\\”), 例子如下System.out.println(Arrays.asList(“aaa\bbb\bccc”.split(“\\”)));
可以這樣思考, 要寫成用”\”分割,則首先需要轉義”\”, 同時要讓”\”在正則表示式中有意義, 還需在第一個”\”和第二個”\”前面再加一個”\”, 就變成了四個”\”.
轉自: http://www.cnblogs.com/yezhenhan/archive/2011/01/30/1947873.html