java - 替换 Java 中的字符串模式

标签 java regex

我有以下字符串

"value=\"\\d{4}((((0[1-9])|(1[0-2]))((0[1-9])|([12]\\d)|(3[01]))?)?|(\\-(((0[1-9])|(1[0-2]))(\\-((0[1-9])|([12]\\d)|(3[01])))?)?)?)d{4}"

我想替换所有出现的

"{" with NCHAR(0x7B)
"}" with NCHAR(0x7D). 

"{ }" 之间的内容应保持不变:

Ex: \\d{4} after replacing -> NCHAR(0x7B) 4 NCHAR(0x7D).

有没有办法在 Java 中使用正则表达式来做到这一点?

无论如何,这可以通过使用字符串操作来处理整个字符串。

最佳答案

我认为您的问题不需要正则表达式,因为您想替换每个'{'和每个'}'。你是这个意思吗?或者您是否只想在“\d”后面时替换这些字符?

theString = theString.replace("{", "NCHAR(0x7B)");
theString = theString.replace("}", "NCHAR(0x7D)");

编辑:

示例代码

public class QuickTest {
    public static void main(String args[]) {
        String theString = "toto \\d{123} 456 789";
        theString = theString.replace("{", "NCHAR(0x7B)");
        theString = theString.replace("}", "NCHAR(0x7D)");
        System.out.println(theString);
    }
}

结果

$> java QuickTest
toto \dNCHAR(0x7B)123NCHAR(0x7D) 456 789

关于java - 替换 Java 中的字符串模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19653969/

相关文章:

regex - 使用 CFML 删除特定 HTML 标签

java - 在 Spring Web 服务中缓存?

java - 使用 Selenium 迭代网站的所有链接

java - 正则表达式查找具有唯一数字的数字

python - 替换 Python 中第一次出现的字符串

javascript - 如何匹配特定的正则表达式?

javascript - 正则表达式 - 特殊元音不被识别为单词字符

java - 从 Windows 任务计划程序运行 Java GUI 应用程序不起作用

java - 每个原始数据类型的 JSON 到 Map<String> 转换

java - 将对象添加到另一个数组列表内的数组列表