我有一个包含许多字符串的文档:
<rdf:type rdf:resource="http://example.com"/>
其中http://example.com不是常量值,每次都会改变。 字符串必须变为:
<process:valueType rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">http://example.com</process:valueType>
我怎么能用java做?
答案 0 :(得分:1)
我这样解决了:
result = result.replaceAll("(<rdf:type rdf:resource=\"([^<]*)\"/>)", "<process:valueType rdf:datatype=\"http://www.w3.org/2001/XMLSchema#anyURI\">$2</process:valueType>");
答案 1 :(得分:0)
我会使用lookbehind来查找rdf:datatype
并选择"
以外的所有内容,这实际上是值的结尾,如下所示:
(?<=datatype=\")[^\"]*
你可以通过前瞻来做到这一点:
(?<=datatype=\").*(?=\")