java分隔一个用|作分隔符的字符串
分隔一个用|作分隔符的字符串为什么用:Stringarrays[]=line.split("\|");时就报错,用:Stringarrays[]=line.split("...
分隔一个用|作分隔符的字符串为什么用:
String arrays[] = line.split("\|");时就报错,用:
String arrays[] = line.split("\\|");时就可以呢?"\|"不已经是转义字符了?谢谢! 展开
String arrays[] = line.split("\|");时就报错,用:
String arrays[] = line.split("\\|");时就可以呢?"\|"不已经是转义字符了?谢谢! 展开
6个回答
展开全部
|在java正则表达式就是一个特殊字符。
\在Java字符串是特殊字符。
所以\|是不能表达普通字符|在split()方法的。
只能转义2次
-----------------------------------
相信楼上2位连Java正则表达式 这个术语都没听说过吧!那String.split()方法的参数你们不懂也就不为奇了!
-----------------------------------》
\ 在Java中专门用来转义字符用的(务必牢记:\的作用是把紧跟其后一个字符转义)
编辑器识别的标准转义字符:
\b \t \n \f \r \" \' \\
非标准转义字符的场合,需要使用 \\ 来辅助转义
其实,LZ采用分割符为"|",这种用法是大忌啊
String.split方法,采用的是Java的正则表达式来分割字符串(参见javadoc)
因此慎用特殊字符啊
String.split方法(以及其它类似的需要使用正则表达式的场合)
常见的需要回避“找抽”的字符有: , \ | ^ * + ? ( ) { } [ ] 等等
如果实在想用的话,在split之类需要正则表达式的地方,必须采用转义:
\\\\ = 转义后的 \ (可用在split中) (这个最无耻)
\\. = 转义后的 . (可用在split中)
\\, = 转义后的 , (可用在split中)
\\| = 转义后的 | (可用在split中)
\\^ = 转义后的 ^ (可用在split中)
\\* = 转义后的 * (可用在split中)
......................................
\在Java字符串是特殊字符。
所以\|是不能表达普通字符|在split()方法的。
只能转义2次
-----------------------------------
相信楼上2位连Java正则表达式 这个术语都没听说过吧!那String.split()方法的参数你们不懂也就不为奇了!
-----------------------------------》
\ 在Java中专门用来转义字符用的(务必牢记:\的作用是把紧跟其后一个字符转义)
编辑器识别的标准转义字符:
\b \t \n \f \r \" \' \\
非标准转义字符的场合,需要使用 \\ 来辅助转义
其实,LZ采用分割符为"|",这种用法是大忌啊
String.split方法,采用的是Java的正则表达式来分割字符串(参见javadoc)
因此慎用特殊字符啊
String.split方法(以及其它类似的需要使用正则表达式的场合)
常见的需要回避“找抽”的字符有: , \ | ^ * + ? ( ) { } [ ] 等等
如果实在想用的话,在split之类需要正则表达式的地方,必须采用转义:
\\\\ = 转义后的 \ (可用在split中) (这个最无耻)
\\. = 转义后的 . (可用在split中)
\\, = 转义后的 , (可用在split中)
\\| = 转义后的 | (可用在split中)
\\^ = 转义后的 ^ (可用在split中)
\\* = 转义后的 * (可用在split中)
......................................
展开全部
可以直接使用String内置的函数split()进行字符串切割
String[] array = str.split("\\|");
还可以利用StringTokenizer类进行操作
StringTokenizer token = new StringTokenizer(str, "|");
while (token.hasMoreTokens())
System.out.println(token.nextToken());
此外,还可以使用indexOf()方法进行定位,然后用substring()进行截取
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
|在java正则表达式就是一个特殊字符。
\在Java字符串是特殊字符。
所以\|是不能表达普通字符|在split()方法的。
只能转义2次
-----------------------------------
相信楼上2位连Java正则表达式 这个术语都没听说过吧!那String.split()方法的参数你们不懂也就不为奇了!
\在Java字符串是特殊字符。
所以\|是不能表达普通字符|在split()方法的。
只能转义2次
-----------------------------------
相信楼上2位连Java正则表达式 这个术语都没听说过吧!那String.split()方法的参数你们不懂也就不为奇了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哥们 如果你用"\" 会出错因为编译器会判定\"是一组,而这恰恰是转译字符。你用"\\"虽然可以了,但是运行不会通过的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不需要转义符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询