我试图在Java中使用Split函数.我试图分裂的角色是;.
所以我的代码是这样的:
string.split(";");
Run Code Online (Sandbox Code Playgroud)
但是,在字符串里面我有很多逃脱\;.我想要一个不会分裂的正则表达式,\;但只能;在它自己的位置分开.
字符串示例:
sometexthere\;shhshshshhs;shhshshshshs\;dddddd;
Run Code Online (Sandbox Code Playgroud)
预期结果:
[0] sometexthere\;shhshshshhs;
[1] shhshshshshs\;dddddd;
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.谢谢!
试试这个:
str.split("(?<!\\\\);");
Run Code Online (Sandbox Code Playgroud)
编辑
如果你想;在结果数组中有spliter(the ):
str.split("(?<=[^\\\\];)");
Run Code Online (Sandbox Code Playgroud)
请注意,单个后视就足以解决此问题.
这一次,我做了一个测试:
final String str = "sometexthere\\;shhshshshhs;shhshshshshs\\;dddddd;";
System.out.println(Arrays.toString(str.split("(?<=[^\\\\];)")));
Run Code Online (Sandbox Code Playgroud)
它输出:
[sometexthere\;shhshshshhs;, shhshshshshs\;dddddd;]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |