正则表达式 - java中split去转义的方法?

查看:83
本文介绍了正则表达式 - 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆