Dan*_*n W 6 java regex string split character
我有一个案例,我正在做以下事情:
final String[] columns = row.split(delimiter.toString());
Run Code Online (Sandbox Code Playgroud)
delimiter角色在哪里?
当我需要通过提供\t分隔符来基于选项卡进行拆分时,这可以正常工作.但是,当我想在管道上拆分时,我传入了一个分隔符,|这不会按预期工作.
我已经阅读了几篇关于|特殊字符如何意味着null或为空的帖子,因此它会分裂它遇到的每个字符,但是,我不想要这种行为.
我可以在我的代码中对此管道案例进行简单检查并解决问题:
if ("|".equals(delimiter.toString())) {
columns = row.split("\\" + delimiter.toString());
}
else {
columns = row.split(delimiter.toString());
}
Run Code Online (Sandbox Code Playgroud)
但我不知道是否有更简单的方法来解决这个问题.此外,是否有任何其他特殊字符的行为与|我需要考虑的一样?
wch*_*gin 18
尝试:
import java.util.regex.Pattern;
...
final String[] columns = row.split(Pattern.quote(delimiter.toString()));
Run Code Online (Sandbox Code Playgroud)
关于其他元字符,当它们被调用时,这里是String Literals教程的引用:
此API还支持许多影响模式匹配方式的特殊字符.
...
此API支持的元字符为:<([{\ ^ - = $!|]})?*+.>
看到:
| 归档时间: |
|
| 查看次数: |
538 次 |
| 最近记录: |