2013-07-19 79 views
0

我的XML文件(〜6000行)包含這樣的詩句:查找/替換(在一個XML文件)一個屬性的值,如果其他屬性具有特定值

<sms protocol="0" address="+12341234" date="12341234" type="2" subject="null" body="smstext" toa="0" sc_toa="0" service_center="+12341234" read="1" status="-1" locked="0" date_sent="null" readable_date="Jan 6, 1980 1:02:14 AM" contact_name="Patrick" /> 

,我想更換contact_name的文本與其他東西,但僅當type =「2」時纔有效。

我的意思是,如果我可以將所有type =「2」行加入書籤,然後在僅加書籤的行上進行搜索/替換,那麼這將非常容易,但是我還沒有找到這樣的選項。

那麼我會怎麼做在記事本++?

編輯:改了稱呼,我的意思不是屬性標籤...

+0

更大的數據集將有助於更好地瞭解數據的格式(標記中的字段始終是相同的序列,一行中是否有多個記錄,是否有多行標籤等)。 –

+0

@TimRadcliffe除xml標題外,只有標記行,沒有多行標記,並且在一行上沒有多個記錄。除了不同的屬性值外,它們基本上都是相同的。 – cptPH

回答

1

您可以嘗試以下操作:

查找:您看到\1\2SomeOtherContactName\4

(?<=type="2")咱就:(?<=type="2")(.*?)(contact_name=")(.*?)(")

與更換如果字符串包含type =「2」,但未捕獲字符串

(.*?)是類型和聯繫人姓名(任何符號)

(contact_name=")之間的第一組 - 在第二組

(.*?)組#3 wicth你想與其他值(任何符號來代替,或可以看起來像[A-Za-z]

(") - 只包含結束報價。我們將它用作組4替換語句

+0

thx按照我想要的方式工作:)(將搜索模式設置爲正則表達式後) – cptPH

相關問題