Dav*_*mes 4 java string split character
我对Java很新,我认为这和其他语言一样.
对于字符串:
String line = "3::Daniel::Louis||##2::Leon: the Professional::1994||6::Jean::Reno||7::Gary::Oldman||8::Natalie::Portman||##3::Scarface::1983||9::Al::Pacino||10::Michelle::Pfeiffer";
Run Code Online (Sandbox Code Playgroud)
我想把它分开||##.
但:
for(String s : line.split("||##")) {
System.out.println("|"+s+"|");
}
Run Code Online (Sandbox Code Playgroud)
收益:
||
|3|
|:|
|:|
|D|
|a|
|n|
|i|
Run Code Online (Sandbox Code Playgroud)
...等
我在期待:
3::Daniel::Louis
Leon: the Professional
Run Code Online (Sandbox Code Playgroud)
...等
我究竟做错了什么?
gtg*_*ola 12
你必须逃避| 字符,因为它是逻辑OR的正则表达式字符
所以我会用
line.split("\\|\\|##"))
Run Code Online (Sandbox Code Playgroud)
请注意,您必须转义斜杠,这就是我使用的原因
\\|
Run Code Online (Sandbox Code Playgroud)
代替
\|
Run Code Online (Sandbox Code Playgroud)
逃避这个元字符