黑马程序员技术交流社区

标题: 正则表达式中切割的问题 [打印本页]

作者: 闫志军    时间: 2013-12-26 17:12
标题: 正则表达式中切割的问题
请教一下:我定义 string   str1=“c:\\abc\\d\\ef.txt”
                                     str2=“c:\abc\d\ef.txt”
这两个字符串进行切割,最后都是得到:   c
                                                         abc
                                                           d
                                                          ef.txt
请问这两个规则怎么写 ?(请解释一下\  和\\).


作者: 符乃夫    时间: 2013-12-26 17:42
在java中\代表转义字符 \\就是代表一个\
作者: lichao    时间: 2013-12-26 18:58
  1. public class StringDemo {

  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args) {
  6.                 // TODO Auto-generated method stub
  7.                 String str1="c:\\abc\\d\\ef.txt";
  8.         //String str2="c:\abc\d\ef.txt";//在java中不可以出现单个的"\"因为他是转译字符。
  9.                 String[] ch = str1.split("[:]?\\\\");//用正则表达式切割。"\\"表示\,第一个是转译字符。
  10.                 for(String str:ch){
  11.                         System.out.println(str);
  12.                 }
  13.         }

  14. }
复制代码

“\”是转译字符如:“\n”换行。
“\\”第一个是转译字符,将第二个“\”转译出来,就相当于\
作者: 闫志军    时间: 2013-12-26 19:36
lichao 发表于 2013-12-26 18:58
“\”是转译字符如:“\n”换行。
“\\”第一个是转译字符,将第二个“\”转译出来,就相当于\ ...

哦,,谢谢!!
作者: 闫志军    时间: 2013-12-26 21:34
符乃夫 发表于 2013-12-26 17:42
在java中\代表转义字符 \\就是代表一个\

谢谢,朋友!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2