需要一些帮助来操作C#中的字符串



我有一个很大的字符串,我正试图将它从旧标准转换为marc21-xml标准。

以下代码行:

temp1 = inputString.Replace("<marc:controlfield tag="LDR">", "<marc:leader>");

生成以下内容:

<marc:leader>^^^^^nam^a22^^^^^3a^4500</marc:controlfield>

这个问题很明显。

我对一个特定的术语执行一揽子转换,并将其替换为"marc:controlfield"。转换过程快结束时,我开始处理leader元素。这就是我现在的处境。精通xml的人知道:

</marc:controlfield>

需要:

</marc:leader>

一旦完成了这项工作,就可以测试我的字符串的格式和有效性等。我正在努力研究如何获取leader元素的右括号,并将其替换为xml,如上所示。

Leader元素最初看起来像:

<fixfield id="LDR">^^^^^nam^a22^^^^^3a^4500</fixfield>

非常感谢您的帮助。

使用Regex:

strResult = Regex.Replace(inputString,
                          "<marc:controlfield tag="LDR">([^<]*)</marc:controlfield>",
                          "<marc:leader>$1</marc:leader>");  

解释:

[^<]*  
means any character except: '<' 
(0 or more times, matching the most amount possible)  

也许我只是没有正确理解你,但为什么不运行

temp1 = temp1 .Replace("</marc:controlfield>", "</marc:leader>");

在你的第一次转换工作之后?

相关内容

  • 没有找到相关文章

最新更新