簡體   English   中英

需要一些幫助在C#中操作字符串?

[英]Need some help manipulating a string in 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>

一旦完成,我的字符串可以測試良好的形成和有效性等。我正在努力如何抓住領導元素的右括號,並用xml替換它,如上所示。

最初Leader元素看起來像:

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

任何幫助是極大的贊賞。

使用正則表達式:

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>");

你第一次轉換工作后?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM