我有一个案例,我正在执行以下操作:
final String[] columns = row.split(delimiter.toString());
delimiter
角色在哪里。
\t
当我需要通过提供作为分隔符来基于制表符进行拆分时,这可以正常工作。但是,当我想在管道上拆分时,我传入了一个分隔符,|
这不能按预期工作。
我已经阅读了几篇关于|
特殊字符如何表示 null 或空的帖子,因此它会在遇到的每个字符上拆分,但是,我不想要这种行为。
我可以在我的代码中为这个管道案例做一个简单的检查并解决这个问题:
if ("|".equals(delimiter.toString())) {
columns = row.split("\\" + delimiter.toString());
}
else {
columns = row.split(delimiter.toString());
}
但我不知道是否有更简单的方法来解决这个问题。另外,是否还有其他特殊字符的行为类似于|
我需要考虑的行为?