Python-尝试替换包含“”

时间:2018-11-07 15:33:00

标签: python

我有一个无法找到答案的问题: 我试图根据用户的输入替换文本字符串内的数字,该文本字符串如下所示: minRequiredPasswordLength =“ 9”,只有引号内的数字发生更改,因此我需要具有.replace来接受和更改这些引号内的任何数字(Regex ??),但是我不知道该怎么做,因为=之后的数字已经在引号中。

我正在尝试用用户提供的r值替换“”中的数字。

with open('pass.config', 'r') as file:
    filedata = file.read()
r = input('What is the required Password Length?')
filedata = filedata.replace('minRequiredPasswordLength="any number"', 'minRequiredPasswordLength="value provided in r"')
with open('pass.config', 'w') as file:
    file.write(filedata)

因此,如果用户输入11且minrequiredpasswordlength =“ 9”,则应将9更改为11。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您已经发现,正则表达式可以很轻松地完成这项工作:

import re

filedata = 'minRequiredPasswordLength="9"'
r = '11'

result = re.sub(r'minRequiredPasswordLength="\d*"', r'minRequiredPasswordLength="{}"'.format(r), filedata)
print(result)

>>>> minRequiredPasswordLength="11"