java - Java 中哪些字符可以用作字符串定界符?

标签 java string delimiter

我正在尝试使用定界符(“:”)将字符串分成不同的部分。

    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/

相关文章:

java - 当我尝试删除对象时,我的 Spring jpaRepository 抛出 TransactionRequiredException

JavaFX如何使文本区域中的文本带有下划线?

c++ - 在结构中初始化字符串数组

Java 正则表达式匹配零次或一次

C++ 将未终止的 char* 连接到 std::string

Windows 批处理 : How to keep empty lines with loop for/f

java - Spring 中的 getServletConfig().getServletContext() 等价物

java - Android Intent 和列表

c++ - 为什么我的代码只能正常运行一次?

python - 将逗号分隔的字符串转换为列表但忽略引号中的逗号