[英]Why String.split(“$”) doesn't work?
我有三部分字符串,每部分用$
符号分隔
例如,
String s = "abc$efg$xyz";
现在,当我使用如下所示的split
方法拆分它时:
String values[] = s.split("$");
它的values
数组将整个字符串作为单个元素包含。
但是当我使用这个:
String values[]=s.split("\\$");
它完全可以满足我的要求
现在values
数组分别在索引0,1和2上包含abc
, efg
和xyz
。
我想知道为什么第一次split
不起作用,因为当我使用split(" ");
在a single white space
上split
时,我使用了类似的split
split(" ");
因为字符$
是在正则表达式中用来标记行尾的保留令牌。 这就是为什么您必须使用\\\\
对其进行转义的原因。
String.split
采用正则表达式。
正则表达式中的$
表示字符串的nd,因此如果要匹配文字$
字符,则需要对其进行转义。
您的示例中显示的$在正则表达式中表示在Java正则表达式中使用的字符串的结尾
它用于
$ Checks if a line end follows
因此,您必须使用\\\\
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.