一段小代码 求内部实现真理

问题描述

String str = "为什么呢|001";String[] item = str.split("|");for (String value : item) {System.out.println(value);}上面打印结果是:为什么呢|001PS:这个是为什么呢?难道java里面的 | 和空格有什么关系? 为什么这些特定的字符一定要在前面加上反斜杠才能起作用呢?求详细内部解释

解决方案

给你看一下 split 这个方法的官方说明:引用public String[] split(String regex) 根据给定的正则表达式的匹配来拆分此字符串。 该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,结果数组中不包括结尾空字符串。 例如,字符串 "boo:and:foo" 产生带有下面这些表达式的结果: Regex 结果 : { "boo", "and", "foo" } o { "b", "", ":and:f" } 参数: regex - 定界正则表达式 返回: 字符串数组,根据给定正则表达式的匹配来拆分此字符串,从而生成此数组。 所以说,你传进去的 "|"是一个正则表达式,而恰好 "|"又是正则表达式中的特殊字符,它的解释你可以参见"java.util.regex.Pattern"类的说明。我这里给你稍微提一下:引用X|Y表示匹配: X 或 Y。而再看,你只传进去一个 "|" 就相当于 "" + "|" + "" 这个字符串,所以这个正则表达式就会被认为用来匹配 "" 或 "" (这两者是相同的,都是空字符串)。所以,总结一句话,它会把"为什么呢|001"按照空字符来进行分隔,那么结果自然就是你见到的那个了。
解决方案二:
Pattern p=Pattern.compile("\|");String str = "为什么呢|001"; String[] item = p.split(str); for (String value : item) { System.out.println(value); }
解决方案三:
你这样就对了split("\|")。原理是:特殊字符需要转义
解决方案四:
|是正则表达式里的特殊字符,需要转义

时间: 2024-07-31 04:12:18

一段小代码 求内部实现真理的相关文章

java新手问题,这段小代码是什么意思,起什么作用,希望说详细些,谢谢

问题描述 java新手问题,这段小代码是什么意思,起什么作用,希望说详细些,谢谢 public List getListBySQL(final String queryString) { try { List list = getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException SQLExc

for循环-两个FOR循环嵌套的小代码,求运算过程

问题描述 两个FOR循环嵌套的小代码,求运算过程 public static void main (String args[]) { int i,j; first_loop; for(i=1;i<50;i++) { for(j=2;j<i;j++) if(i%j==0) continue first_loop: System.out.println(i): } } 解决方案 浅谈for循环嵌套的效率两个for循环的优缺点for循环中的if嵌套 解决方案二: 启用单步调试,一步一步慢慢看就行了~

代码 试题-一小段c++代码求大神教

问题描述 一小段c++代码求大神教 部分代码 Point f(double x, double y) { Point P(x,y); return P; } void main() { Point A(0,0); Point B = f(3,4); } Point是自定义的类 请问调用几次拷贝构造函数? 自己试过 .可是 vs调用了一次,vc调用了两次.哪个正确? 解决方案 1.应该是调用2次,vs调用一次,可能是Point A(0,0)被编译器优化掉了. 2.建议再main函数中添加对A进行访

一小段Java代码求高手解释,严重求助!!!!!

问题描述 小弟我对Java一窍不通,惭愧,只学过VB,正在强化自己,下面的代码只看懂了一点,这段代码在VB.net中如何实现的?,求高手转换成VB代码好么!小弟不才,看懂的加了VB注释.数字转MD5后=7C6DF7FC35DDCF4AD9BE46F4FFDD58DE,从第13位开始取值12位等于CF4AD9BE46F4,最后的计算结果是661-273-276-329好像还有一个翻转函数publicstaticStringreverse(char[]paramArrayOfChar)小弟先谢谢大侠

新手一段小代码不太理解,大家帮忙看一下

问题描述 我是个新手,正在学习C#,但碰到一些混淆的问题使我很困惑.在<.net编程先锋C#>第四章C#类型中,有这么一段程序:usingSystem;structIP{publicbyteb1,b2,b3,b4;}classTest{publicstaticvoidMain(){IPmyIP;myIP.b1=192;myIP.b2=168;myIP.b3=1;myIP.b4=101;Console.Write("{0}.{1}.",myIP.b1,myIP.b2);Con

使用集合清除站内Cookies的一段小代码

cookie|cookies|集合 为了考虑Cookies的安全,一般我们需要清除站内使用的Cookies的值.这里提供一段代码,思路就是采用集合的方法,当然也兼容清除含有字典HasKeys的Cookies值噢. Dim Cookie, SubkeyFor Each Cookie in Request.Cookiesif Not(Request.Cookies(Cookie).HasKeys) thenResponse.Cookies(Cookie) = EmptyelseFor Each Su

求一段程序代码,相似代码也可,功能如图

问题描述 求一段程序代码,内容图.功能相似也可.非常急.谢谢. 解决方案 解决方案二:这就是一个小程序系统啊.兄弟,慢慢来吧,一口吃不成胖子.先从winform拖控件开始,然后是控件赋值,数据库操作...解决方案三:什么都不会,只是完成任务,需要关键的代码.大家帮帮我.谢谢.解决方案四:进销存的demo吧解决方案五:你这个是报表里面的,先做报表,再绑定数据吧!解决方案六:我只是想要主要的代码,其它的可以忽略,不是做程序.只需要代码.解决方案七:有大神,帮忙.

求解释-求大神帮看看这段汇编代码

问题描述 求大神帮看看这段汇编代码 学校课程设计,这段是步进电机的控制代码,用键盘输入,在六位LED七段数码显示管上显示,求大神把下面代码加上注释,实在不行就帮忙看下键盘显示那部分是怎么回事,有重谢. ORG 0A30H ;? MONIT: MOV SP,#50H MOV 7EH,#00H MOV 7DH,#02H MOV R0,#7CH MOV A,#08H MOV R4,#04H MONIT1: MOV @R0,A DEC R0 DJNZ R4,MONIT1 MOV A,#7EH MOV D

c++-怎样把一段C++代码(小游戏代码)跟Xtinon pro 联系起来.

问题描述 怎样把一段C++代码(小游戏代码)跟Xtinon pro 联系起来. 怎样把一段C++代码(小游戏代码)跟Xtinon pro 联系起来,想弄一个小游戏,也是一份暑假作业来的...大神们,求救,谢谢! 解决方案 Xtinon pro应该是Xtion PRO吧,一个体感应用. 1.下载部署Xtion PRO SDK:2.游戏代码中调用Xtion PRO API,读取体感设备的输入控制游戏进程. 解决方案二: 用vs2010..配置了openNI和opencv能用么