正则表达式 - java中split去转义的方法?
本文介绍了正则表达式 - java中split去转义的方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
1、split方法中使用了正则表达式,比如
"aaa|bbb|ccc"
转义的时候就需要split(\|),在转义字符比较少的时候这没什么,但是如果类似下面的
"ds\\|'\'\t\d"
这种复杂的字符串对于正则表达式不熟悉的人就比较困难了。
有没有不支持正则表达式的方法,或者能解决这种问题的办法(当然学好正则表达式是一种好方法O(∩_∩)O)。
解决方案
先转义一遍吧s.split(Pattern.quote(separator));
update: 关于为啥能实现转义
关键在于Java自定义的
\Q Nothing, but quotes all characters until \E //转义直到\E
\E Nothing, but ends quoting started by \Q
quote方法类似返回了"\\Q" + s + "\\E";
(当然还有一些其他的情况(如待转义的字符串本身就有\E
之类的),但是这个是最根本的情况)
这篇关于正则表达式 - java中split去转义的方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文