Java正则表达式删除字符串的中间

标签 java regex

我在网站上查看了几个正则表达式问题,但没有一个有效,如果人们觉得这样重复,我很抱歉。 我在 XML 文件中有这个字符串:

<MessageRef>Trading01</MessageRef>

哪里Trading01每次生成xml时都会是不同的String(需要手动输入)。目的是为了测试目的自动生成任何唯一值。如何删除 <MessageRef> 之间的内容和</MessageRef>

我已经尝试过,但它不起作用:

 message.replaceAll("(<MessageRef>)[^&]*(</MessageRef>)", String.valueOf(System.currentTimeMillis()));

这是一个我知道的简单问题,但整个早上都困扰着我!任何帮助将不胜感激!

最佳答案

我尝试了这个,它修改了 XML 标记内的所有内容:

message.replaceAll("(<MessageRef>)[^&]*(</MessageRef>)", "<MessageRef>" + String.valueOf(System.currentTimeMillis()) + "</MessageRef>");

输出:

<MessageRef>1435744441381</MessageRef>

关于Java正则表达式删除字符串的中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31157940/

相关文章:

java - 是否可以替换 Java 中的公共(public)静态方法?

java - 使用 PhpSecLib 和 BouncyCaSTLe 的 PHP 和 Java Decrpytion 错误

java - 从字符串中提取数字

java - 无法创建 javaDoc

C# - 正则表达式替换(如果不在引号内)

javascript - 替换Javascript中URL中所有匹配的查询参数值

regex - 在 Bash 中的一行内交换字符串

regex - 为什么在此正则表达式替换中丢失引号转义?

java - Try/Catch 变量无法初始化

javascript - 简单的 javascript 正则表达式 - 添加另一个关键字