关于Spring.split()踩坑

public static void main(String[] args) {String selectedApprover ="JDXT_ouyangG|T欧阳小枝G|T18288883333";System.out.println(Arrays.toString(selectedApprover.split("G|T")));
}

运行结果为:
[JDX, _ouyang, |, 欧阳小枝, |, 18288883333]

分析原因:
最初出现是在生成环境上,非常奇怪,百思不得其解,难道是按照“G”,“|”,“T”;三个来分割了?
验证结果:

public static void main(String[] args) {String selectedApprover ="JDXT_ouGyangGxiaoTzhiG|T欧阳小枝G|T18288883333";System.out.println(Arrays.toString(selectedApprover.split("G|T")));
}

[JDX, _ou, yang, xiao, zhi, |, 欧阳小枝, |, 18288883333]
一看这个结果,果然是!按照字母来说,一般不会有问题,那有问题的只可能是是“|”,猜测是不是按照了正则,那么转义下看看

public static void main(String[] args) {String selectedApprover ="JDXT_ouGyangGxiaoTzhiG|T欧阳小枝G|T18288883333";System.out.println(Arrays.toString(selectedApprover.split("G|T")));
}

[JDXT_ouGyangGxiaoTzhi, 欧阳小枝, 18288883333]
预期结果,没有问题,最后在Javadoc里找到了这个方法的说明

因此,特殊字符慎用,附带百度的部分内容:

String.split方法(以及其它类似的需要使用正则表达式的场合)
常见的需要回避“找抽”的字符有: , \ | ^ * + ? ( ) { } [ ] 等等
如果实在想用的话,在split之类需要正则表达式的地方,必须采用转义:
\\ = 转义后的 \ (可用在split中) (这个最无耻)
\. = 转义后的 . (可用在split中)
\, = 转义后的 , (可用在split中)
\| = 转义后的 | (可用在split中)
\^ = 转义后的 ^ (可用在split中)
\* = 转义后的 * (可用在split中)

关于Spring.split()踩坑相关推荐

  1. Spring Cloud踩坑指南

    Spring Cloud踩坑指南 1 Spring Cloud搭建 参考 Spring Cloud 微服务技术栈:搭建高可用 Eureka Server.服务注册与发现 2 常见问题 2.1 修改ho ...

  2. Spring @Transactional踩坑记

    @Transactional踩坑记 总述 ​ Spring在1.2引入@Transactional注解, 该注解的引入使得我们可以简单地通过在方法或者类上添加@Transactional注解,实现事务 ...

  3. java split 坑_java String split 踩坑记

    split操作是出镜率非常高的一个方法, 但是我们使用中通常会使用两个类提供的split方法, 他们在入参类型一样, 但是效果却有一些差别, 稍不注意容易踩坑. java.lang.String#sp ...

  4. Spring Boot踩坑记之Whitelabel Error Page问题

    在学习Spring Boot时,了解到页面推荐采用freemarker的ftl格式文件,好像这玩意比jsp功能强大吧,那我也就学习下这个,毕竟多学总没有坏处.然后在后台跳转前端时浏览器报错Whitel ...

  5. spring jpa.踩坑经验分享

    原生sql@Query()有返回的时候 别的注解不要加 这一个就够用 @Query("select m from MerchantBaseUserInfo m where m.mcu_id ...

  6. spring boot 踩坑日记: 错误: 找不到或无法加载主类 xxx.xxx.xxx

    错误信息: 错误: 找不到或无法加载主类 io.sr.SrDhTraApplication 解决: 在pom.xm文件中指明启动类位置: 代码: <configuration><fo ...

  7. 为啥Spring事务失效了,你踩坑了吗?

    hello,慕仔们,我们又见面了.前段时间小慕做的智慧社区门禁服务的业务中恰好遇上了事务失效的场景,于是就有了今天的这篇文档总结,避免让慕仔们踩坑. 今天我们不聊微服务架构下的分布式事务,只谈单体应用 ...

  8. spring boot 集成 redis spring-boot-starter-data-redis 2.1.7.RELEASE jedis: pool: #连接池配置 及踩坑经验

    目录 先上一些踩坑报错,各类报错 @org.springframework.beans.factory.annotation.Autowired(required=true) Error creati ...

  9. spring配置CORS后未返回Access-Control-Allow-Origin的踩坑解决

    一.配置方式   在 Spring 框架下解决 CORS 问题,前面试了两种方法,发现在一种场景下,HTTP Response header 始终未应答 Access-Control-Allow-Or ...

最新文章

  1. UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe6 in position 0: ordinal not in range(128)
  2. oracle recyclebin详解,oracle recyclebin详解
  3. 美团全链路压测自动化实践
  4. 一步一步学lucene——(第四步:搜索篇)
  5. 阿里巴巴拿下奥运顶级赞助商
  6. Android 第三课 构建简单的用户界面
  7. Java开源项目:Spring Integration
  8. mysql 取左_MySQL select语句从字符串左侧获取5个字符
  9. js 中对于 css 的变量操作(React也可)
  10. 查看商品图片,鼠标悬浮图片放大js实现
  11. PythonPyqt5项目开发完成后如何使用pyinstaller打包——以Pycharm编辑器为例(目前为止最正确的版本,成功打包日期为2020.11.26)
  12. 谷歌浏览器不能上网_谷歌浏览器插件下载及安装教程!
  13. 【2015年第4期】面向科技情报的互联网信息源自动发现技术
  14. 程序员拒带电脑回家被开除获赔 19.4 万;库克称,很多功能来自中国消费者反馈;谷歌开源1.6万亿参数语言模型 | 极客头条...
  15. centos 查看版本号方法
  16. Android 自动朗读TT
  17. 计算机WIN7安装,教您win7旗舰版安装教程
  18. 迅雷android 电视,【迅雷电视助手】迅雷电视助手安卓版(Android)2.0下载_太平洋下载中心...
  19. linux中man 2与man 3区别
  20. 文墨绘学怨气里长大的孩子

热门文章

  1. 零点城市社交电商 2.1.7.4 独立版 全开源 含前后端VUE文件 全插件
  2. openwrt怎么做ap_OPENWRT的中继或者桥接模式, Client+AP实现
  3. hexo博客主题推荐
  4. 转载 百度地图API二次开发小经验分享
  5. 更新微信 7.0,你后悔了吗?
  6. BZOJ 1455: 罗马游戏( 配对堆 + 并查集 )
  7. 第十一章 曲线积分与曲面积分
  8. Lightly 集成开发工具
  9. 联想ideapad15s安装(烧录)ubuntu操作系统(双系统)
  10. 前端面试题--水平垂直居中的方法