我正在尝试使用定界符(“:”)将字符串分成不同的部分。
String sepIds[]=ids.split(":");
它工作正常。但是当我将“:”替换为“*”并使用“*”作为分隔符时,它不起作用。
String sepIds[]=ids.split("*"); //doesn't work
它只是卡在那里,不会进一步执行。
我在这里犯了什么错误?
最佳答案
String#split需要 regular expression作为参数。在正则表达式中,某些字符具有特殊含义,因此需要对其进行转义,例如:
"foo*bar".split("\\*")
结果如你所愿:
[foo, bar]
您还可以使用 Pattern#quote 方法以简化任务。
"foo*bar".split(Pattern.quote("*"))
关于java - Java 中哪些字符可以用作字符串定界符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22167735/