在Java中拆分字符串

why*_*ame 3 java regex string split

当我"1|2|3|4"使用String.split("|")数组中的I get 8元素而不是4 分割字符串时.如果我使用"\\|"结果是正确的.我猜这有正则表达式的东西.任何人都能解释一下吗?

ken*_*ytm 7

你是对的.|是一个特殊的交替角色.正则表达式|表示"空字符串或空字符串".因此它将分割所有空字符串,为字符串中的每个字符生成1个元素.逃避它\|使它成为一个普通的角色.