【发布时间】:2013-04-30 10:25:26
【问题描述】:
我有一个类似||81|||01|| 的字符串,我想用| 符号分割字符串。
我是这样做的,
String str = "||81|||01||";
System.out.println(str .split("\\|").length); //printing 6 . But I am expecting 8
这段代码有什么问题? |我怎样才能用那个字符分割这个字符串,以便我得到预期的长度(8)?;
【问题讨论】:
-
为什么你认为 8 是预期的结果?
-
@NoobUnChained 如果有
n分隔符,则字符串应拆分为n+1部分。在给定的输入中有7管道,所以应该有8结果。 -
在开头和结尾引入一个空格:
" ||81|||01|| "得到预期的结果;) -
@NoobUnChained 这是一个奇怪的 hack,看到 Java 为您提供了使用
split的附加参数来更改行为的选项,你不觉得吗? -
@NoobUnChained:不。你会得到不同的结果(空格而不是空字符串)。