user1823753
user1823753

Reputation: 15

Can't get python replace regex to work

Can't get the code to work, following code should replace what ever is after = and before "

user = "/silent test=de";

#!/usr/bin/python
import re
import fileinput

langids = ["de","uk","us","dk"]

for lang in langids:
 for line in fileinput.FileInput("C:\Users\HS\Desktop\sps_r2850\Test.txt",inplace=1):
    if re.match(".*user = \"[a-zA-Z/_= ]*\";.*", line):
        line = ("user = \"/silent test=_%s\";\n" % lang)
    print line,

Upvotes: 0

Views: 109

Answers (1)

Chris Seymour
Chris Seymour

Reputation: 85785

Change the language using re.sub:

import re

# no value set (or any doesn't matter)
line='user = "/silent test=";'

# values to insert 
langids = ["de","uk","us","dk"]

for lang in langids: 
     print re.sub('(.*=)(.*)(".*)',r'\1'+lang+r'\3',line)

# output
>>> user = "/silent test=de";
>>> user = "/silent test=uk";
>>> user = "/silent test=us";
>>> user = "/silent test=dk";

Upvotes: 3

Related Questions