我有以下代码来拆分字符串:
String s = "100$ali$Rezaie" ;
String[] ar = s.split("$") ;
但它不起作用。为什么?
感谢您的任何建议。
因为public String[] split(String regex)
接受正则表达式作为参数而不是字符串。
$
是具有特殊含义的元字符。
你应该逃避这个$
:\\$
。
通过转义这一点,您将被视为split
String而不是Regex。请注意,转义 String 是由 完成的,但在 Java中被写为.$
$
$
\
\
\\
替代解决方案是使用Pattern#quote
"返回指定 String 的文字模式 String:
String[] ar = s.split(Pattern.quote("$"))
split
将正则表达式作为参数。$
是一个元字符,用作匹配 a 结尾的锚点String
。字符应该被转义以在文字上拆分$
String
String[] ar = s.split("\\$");
split
将正则表达式作为参数。
public String[] split(String regex)
围绕给定正则表达式的匹配拆分此字符串。
你需要逃离这个$
标志。
String[] ar = s.split("\\$")
你需要说\\
,因为\
也需要逃避!