繁体   English   中英

为什么String.split(“ $”)不起作用?

[英]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上包含abcefgxyz

我想知道为什么第一次split不起作用,因为当我使用split(" ");a single white spacesplit时,我使用了类似的split split(" ");

因为字符$是在正则表达式中用来标记行尾的保留令牌。 这就是为什么您必须使用\\\\ 对其进行转义的原因。

String.split采用正则表达式。

正则表达式中的$表示字符串的nd,因此如果要匹配文字$字符,则需要对其进行转义。

您的示例中显示的$在正则表达式中表示在Java正则表达式中使用的字符串的结尾

它用于

$   Checks if a line end follows

因此,您必须使用\\\\

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM