XML 模式上的 Java 字符串替换

标签 java regex string replace replaceall

我有以下 XML 字符串:

String XML = "<TEST><MESSAGEID>5435646578</MESSAGEID></TEST>";

xml字符串中的数字一直在变化,所以我想做一个字符串替换,想把XML变成

<TEST><MESSAGEID></MESSAGEID></TEST>

我正在寻找做这样的事情,但我不确定如何获取 replaceAll 方法中第一个参数的模式。

public class HelloWorld {

    public static void main(String[] args) {
        String XML = "<MESSAGEID>5435646578</MESSAGEID>";
        String newStr = XML.replaceAll("<MESSAGEID>*</MESSAGEID>", "<MESSAGEID></MESSAGEID>");
        System.out.println(newStr);
    }
}

最佳答案

图案 <MESSAGEID>[0-9]+</MESSAGEID>会工作。如果您的输入结构可以改变,您可能希望改用 XML 解析器。

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

相关文章:

Java TrayIcon 消息未显示

java - 试验指标及性状

php - 变量和 preg_match PHP

c# - 测试空字符串不会抛出 NullReferenceException

java - ZeroMQ 在 context.term() 调用中阻塞。为什么?如何预防?

Java 独立程序到 JSP 通信

c++ - C++中带括号的计算器

javascript - Javascript 正则表达式中的拉丁字符

javascript - 如何选择 saveStrings() 的保存位置

c++ - 如何将 tr1/array 转换为 std::string?