在 xml 中我们有一些标签,例如
<string1 : string2>
以及更多类似的内容。
我需要编写一个正则表达式来删除所有以“:”结尾的字符串,即这里的string1和“:”。 它应该始终位于 < >
内例如输入 = <string1 : string2>
输出= <string2>
最佳答案
这是在 php 中执行此操作的方法:
<?php
$str = "<string1 : string2>";
$s = preg_replace('~(</?)[^>:]*:\s*~', "$1", $str);
var_dump($s);
?>
用Java编辑
String str = "<ns2:senderId xmlns=\"netapp.com/fsoCanonical\">NetApp</ns2:senderId>";
System.out.println(str.replaceAll("(</?)[^>:]*:\\s*", "$1"));
输出
<senderId xmlns="netapp.com/fsoCanonical">NetApp</senderId>
关于java - 正则表达式删除字符串中给定的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5965275/