Hi all,

I have the following string:

<REQUEST><KEY_HEADER><STATUS>CREATE</STATUS><TIME_CODE>0</TIME_CODE><COUNT>344</COUNT><TARGET>8</TARGET></KEY_HEADER><KEY_INFO><NAME>TEAMLIST</NAME><ARGS>97</ARGS><ARG>COACH: XXX</ARG><ARG>Crusaders</ARG><ARG>WHITE</ARG><ARG>BLACK</ARG><ARG>Crusaders</ARG><ARG>WYATT</ARG><ARG>CROCKETT</ARG><ARG>JASON</ARG><ARG>MacDONALD</ARG><ARG>OWEN</ARG><ARG>FRANKS</ARG><ARG>BRAD</ARG><ARG>THORN</ARG><ARG>ISAAC</ARG><ARG>ROSS</ARG><ARG>KIERAN</ARG><ARG>READ</ARG><ARG>RICHIE</ARG><ARG>McCAW</ARG><ARG>THOMAS</ARG><ARG>WALDROM</ARG><ARG>ANDY</ARG><ARG>ELLIS</ARG><ARG>STEPHEN</ARG><ARG>BRETT</ARG><ARG>ADAM</ARG><ARG>WHITELOCK</ARG><ARG>RYAN</ARG><ARG>CROTTY</ARG><ARG>TIM</ARG><ARG>BATEMAN</ARG><ARG>JARED</ARG><ARG>PAYNE</ARG><ARG>LEON</ARG><ARG>MacDONALD</ARG><ARG>DANIEL</ARG><ARG>PERRIN</ARG><ARG>BRONSON</ARG><ARG>MURRAY</ARG><ARG>MICHAEL</ARG><ARG>PATERSON</ARG><ARG>JONATHON</ARG><ARG>POFF</ARG><ARG>KAHN</ARG><ARG>FOTUALI'I</ARG><ARG>SEAN</ARG><ARG>MAITLAND</ARG><ARG>HAMISH</ARG><ARG>GARD</ARG><ARG> </ARG><ARG> </ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG></ARG><ARG> </ARG><ARG>1</ARG><ARG>2</ARG><ARG>3</ARG><ARG>4</ARG><ARG>5</ARG><ARG>6</ARG><ARG>7</ARG><ARG>8</ARG><ARG>9</ARG><ARG>10</ARG><ARG>11</ARG><ARG>12</ARG><ARG>13</ARG><ARG>14</ARG><ARG>15</ARG><ARG>16</ARG><ARG>17</ARG><ARG>18</ARG><ARG>19</ARG><ARG>20</ARG><ARG>21</ARG><ARG>22</ARG><ARG> </ARG></KEY_INFO></REQUEST>

Yep I know it's a mess but it's the only way I can receive it.

What I need to do is loop through the string and change ARG to be ARG then a number e.g.

<ARG>14</ARG> changes to <ARG1>14</ARG1>

Does this make sense and is it even possible?

Python would make this easily possible, but you need to tell us if ARG always turns into ARG1, or is the next ARG a ARG2 and so on?

Python would make this easily possible, but you need to tell us if ARG always turns into ARG1, or is the next ARG a ARG2 and so on?

Yep I should end up with ARG1, ARG2 etc, sorry I should have made that clearer

A pragmatic one time solution:
The test.txt contains the above string.

st=open("test.txt").read()
delimiter="><"
tokens=st.split(delimiter)
fo=open("test_out.txt","w")
count=1
for line in tokens:
    if line.startswith("ARG") and line.endswith("ARG"):
        firstarg=line.find("ARG")+3
        line=line[:firstarg]+str(count)+line[firstarg:]+str(count)
        count+=1
    fo.write(line)
    fo.write(delimiter)#FIXME last delimiter is too much
fo.close()
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.