0

私は以下のようなxmlファイルを持っています

<?xml version="1.0" encoding="utf-8"?>
<myTable xmlns="http://schemas.microsoft.com/windows/2008">
  <my id="1">Hi this is one</my>
  <my id="2">Hi this is one</my>
  <my id="6">Hi this is one</my> 
  <my id="7">Hi this is one</my>
   <my id="8">Hi this is one</my>
   <my id="9">Hi this is one</my>
</myTable>

最初の'myid = "1"'に(1)を追加したいので、結果のxmlは次のようになります

<?xml version="1.0" encoding="utf-8"?>
<myTable xmlns="http://schemas.microsoft.com/windows/2008">
  <my id="1">Hi this is one(1)</my>
  <my id="2">Hi this is one</my>
  <my id="6">Hi this is one</my> 
  <my id="7">Hi this is one</my>
   <my id="8">Hi this is one</my>
   <my id="9">Hi this is one</my>
 </myTable>

私はこれをPythonの正規表現で実行したい

ありがとう

4

2 に答える 2

0

import re

r = re.compile(r'(<my id="1">.*)(</my>)')

with open(infilename, 'r') as infile, open(newfile, 'w+') as outfile:
    for line in infile:
        match = r.search(line)
        if match:
            f.write(match.group(1) + '(1)' + match.group(2))
        else:
            f.write(line)

あなたが欲しいもの?

これは、指定されたパターンの行を検索し、それらが一致する場合は、コンテンツを取得して、その間に何かを接続します。

于 2012-12-12T15:44:56.683 に答える
-1

新しいファイルを作成しても大丈夫ですか?もしそうなら、そして:

import re

f = open(newfile, 'w+')

for line in open(your_file, 'r');
  match = re.search(r'id="1"', line)
  if match:
    f.write('<my id="1">Hi this is one(1)</my>')
  else:
    f.write(line)

f.close()
于 2012-12-12T15:40:10.303 に答える