【发布时间】:2021-10-21 09:26:03
【问题描述】:
我有一个包含数百行的文件。如果变量名称以 $ 字符开头,我需要通读整个文件并替换变量名称,例如:
String $number1;
int $variable2;
double google$3;
......
在此示例中,代码应将 $number1 替换为 Nnumber1 并将 $variable2 替换为 Nvariable2 ,因此每次变量名称开头有 $ 时,它都会将其替换为 N 。但是,如果 $ 字符没有出现在开头,则不应更改变量名称。所以 google$3 保持不变 这是我的代码
# Read in the file
with open('filename', 'r') as file :
data = file.read()
# Replace string
data = data.replace('$', 'N')
# Write
with open('filename', 'w') as file:
file.write(data)
但是我得到的结果不是我想要的。我将每次出现的 $ 替换为 N 我只想替换开头的 $。
String Nnumber1;
int Nvariable2;
double googleN3;
编辑:无法保证 $ 字符之前的内容可能是任何内容
【问题讨论】:
-
因为您已经将
$替换为N,所以您想要将`$` 替换为$N。即data = data.replace(' $', '$N')。注意$符号前的空格 -
字符串是以
$var开头还是var $number...开头? -
你知道如何编写代码来检查字符串是否以
$开头吗?如果你有,你能看看如何用它来解决问题吗? -
在字符串开头出现的每一次
$都保证是一个变量吗?还是我们在寻找模式var $... -
@PranavHosangadi 字符串以
var $number开头。如果 $ 出现在变量的开头,则需要将其更改为 int $x 将更改为 Nx。