我有以下代码来拆分字符串:
String s = "100$ali$Rezaie" ;
String[] ar = s.split("$") ;
但它不起作用。为什么?
感谢您的任何建议。
因为public String[] split(String regex)接受正则表达式作为参数而不是字符串。
$是具有特殊含义的元字符。
你应该逃避这个$:\\$。
通过转义这一点,您将被视为splitString而不是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("\\$")
你需要说\\,因为\也需要逃避!