最近项目中需要分割字符串,字符串采用“key1|value1”格式,需要按照“|”分割字符串;
String str = "key1|value1";
String[] arr = str.split("|");
for (int i = 0; i < arr.length; i++) {
System.out.println( i + ":" + arr[i]);
}
发现每个字符都被分割:
0:k
1:e
2:y
3:1
4:|
5:v
6:a
7:l
8:u
9:e
10:1
后来才知道 一些字符是需要转义之后才能进行split、replaceAll操作
另附一些常用的转义列表;
字符 |
转义字符 |
|
' |
\' |
|
" |
\" |
|
\ |
\\ |
|
回车 |
\r |
|
换行 |
\n |
|
退格 |
\b |
|
横向跳格 |
\t |
|
走纸换页 |
\f |
|
. |
\\. |
\\u002E |
$ |
\\$ |
\\u0024 |
^ |
\\^ |
\\u005E |
{ |
\\{ |
\\u007B |
[ |
\\[ |
\\u005B |
( |
\\( |
\\u0028 |
| |
\\| |
\\u007C |
) |
\\) |
\\u0029 |
* |
\\* |
\\u002A |
+ |
\\+ |
\\u002B |
? |
\\? |
\\u003F |