A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张周飞 金牌黑马   /  2014-6-27 10:11  /  679 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张周飞 于 2014-7-2 09:27 编辑

  String   Introduce=" 我是张周飞 | 性别:男; | 爱好:女;| 兴趣:做粤菜;| 交友:未女友。 "
  String[]  S =Introduce .split("\\|");
  for(int i=0;i<S.length;i++){
                  System.out.println( S .replace(":","--> "));            
   }
输出出来的是:
我是张周飞
性别--> 男;
爱好--> 女;
兴趣--> 做粤菜;
交友--> 未女友。
我的问题是 split("\\|") 的问题------  为什么不是 “\|" ;不是转义  |  了         怎么是两个    \\|      
呢??????求解.............







评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

7 个回复

倒序浏览
还没到那块儿 = =
回复 使用道具 举报
因为\在Java中有特殊含义,为了避免 语意上的冲突,前面就加上了 反斜杠,所以\\表示的是\,\\|就是\|
回复 使用道具 举报
亲,split()括号里用的正则表达式。"\"与“{”匹配,“\\”才与“\”匹配。你可以看一下,java.lang.String包
有关正则表达式的详解。

点评

O(∩_∩)O谢谢  发表于 2014-6-27 17:46

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 帮帮 于 2014-6-27 17:44 编辑

在Java中\(反斜杠)后面只能是 \b  \t  \n  \f  \r  \"  \'  \\  这几个字符,其他的不包含在里面,所以要转其他字符的话就要先让“\\”转成“\”然后在转目标字符

点评

O(∩_∩)O谢谢  发表于 2014-6-27 17:47

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
Geek_001 发表于 2014-6-27 12:18
亲,split()括号里用的正则表达式。"\"与“{”匹配,“\\”才与“\”匹配。你可以看一下,java.lang.String ...

可以帮到你就好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马