java - 与 "*"一起使用时 String::replaceFirst() 有问题吗?

标签 java string

private String unusedDigits = new String("0123456789*#");
unusedDigits = unusedDigits.replaceFirst("1", "");
//...
unusedDigits = unusedDigits.replaceFirst("*", ""); // <--- problem

我是 Java 初学者。为什么我在使用 replaceFirst()"*" 时遇到问题?它转到一些不同的代码流(与某些同步相关)。如果我评论该声明,那么一切正常!

最佳答案

replaceFirst()中,第一个参数是一个正则表达式。您可以使用 Pattern.quote("*") 代替:

unusedDigits = unusedDigits.replaceFirst(Pattern.quote("*"), "");

关于java - 与 "*"一起使用时 String::replaceFirst() 有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6407820/

相关文章:

java - 我如何知道选择哪个 Maven 依赖版本?

java - 如何在 UI 中显示字符限制以及为用户数字化了多少?安卓Java

java - 无法从命令行运行简单的 JUnit4 测试

C++ 错误 : Conversion to Non-Scalar Type

python - 属性错误 : 'list' object has no attribute 'replace' when trying to remove character

c - 用另一个字符串的部分覆盖字符串的部分

java - 使用修订 ID 检索 CouchDB 文档的先前修订?

java - 减去两个 java.sql.timestamp 给出错误的年份

python - 从十六进制字符串表示创建原始 unicode 字符/输入单个反斜杠

string - 为什么我不能反转 str::split 的结果?