java - 转义字符串中的多个不同字符

标签 java

我想用反斜杠(#)转义给定 Java 字符串中的不同字符(#、$、%、&、\、^、_、{、}、~) 变为 \#$ 变为 \$ 等等)。

是否可以在不对字符串多次调用 String#replaceString#replaceAll 方法的情况下实现此目的?

最佳答案

您可以使用以下正则表达式

String escaped = s.replaceAll("[" + Pattern.quote("#$%&\\^_{}~") + "]",
    Matcher.quoteReplacement("\\")+"$0")

关于java - 转义字符串中的多个不同字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42748788/

相关文章:

java - 在 java 中保存任何对象创建时的堆栈跟踪,并在程序中的任何其他点使用它

java - 从我用随机整数创建的文件中读取并放入数组中并显示值

java - 当我执行多个优于 Runtime.getRuntime().availableProcessors()) 的并行线程时,为什么我的 Java 程序运行得更快?

java - 将 android studio 环境从 kotlin 转换为 java

java - 读取其他应用程序配置文件时遇到问题

java - Android应用程序上的DeadObjectException

java - 如何使用java调整文本文件中的行号?

java - Spring Batch 具有用于远程分区的多步骤 Spring Cloud Task (PartitionHandler)

java - 如何使用 mina 将 POJO 从客户端发送到服务器

java - Java 的智能部署工具