performance - 如何使用javascript替换位于本地的文件中的值?
问题描述
我有一个场景,在读取文件后,它需要替换该文件中的值。
我们从我们的 JMeter 中获得了这个脚本,我们的脚本来自该脚本。(请参考下面的代码)
def file = new File('C:/Peak2020/China/${__time(YMMdd)}-085644-336_000101-plant 8956.xml')
def newConfig = file.text.replace('596791365558876095', '000101')
file.text = newConfig
def newConfig2 = file.text.replace('C6D-CN-NBB2829A', 'C7D-CN-NBB$4568792B')
file.text = newConfig2
def sku = file.text.replace('323094-01', '45903-01')
file.text = sku
我尝试在 Neoload 中使用 replace() 执行此操作,但它不起作用。它确实将文件从源文件夹复制到目标文件夹,但值没有改变。(请参考下面的代码)
var file = new java.io.BufferedReader(new java.io.FileReader("C:\\Peak2020\\China\\testSource1.xml"));
var line = file.readLine();
var id = line.replace(new RegExp("596791365558876095", "12345678"), "");
var destFile = line;
var writer = new java.io.FileWriter("C:\\Peak2020\\Teemp\\TestDestination3.xml",true);
writer.write(destFile);
writer.close();
有谁知道使用什么正确的javascript代码?谢谢你。
解决方案
字符串在 Javascript 和 Java 中是不可变的,您将在其中替换它
var id = line.replace(new RegExp("596791365558876095", "12345678"), "");
但随后您再次将var 行用于新变量。
var destFile = line;
它应该是
var destFile = id;
因为 replace 将返回一个带有替换值的新字符串。
推荐阅读
- python - Pandas:如何仅删除列末尾的最后一个连字符
- google-forms - 如何根据其他用户过去的回复使 Google 表单自动填充?
- c - 我知道一个地址,但我应该如何判断在哪个部分?使用C的全局区域或堆区域或堆栈区域
- json - 如何解决“手势 RangeError(索引)捕获的异常:无效值:有效值范围为空:0”
- c++ - 什么会使多边形算法中的点仅在正向和反向运行时才能正常工作?
- php - PHP:如何使用键->值对每两个分隔符将一个字符串分解为一个数组
- kubernetes - 将 GKE 集群拆除为“全新”状态而不删除它?
- scala - Spark——自定义reduce函数保存到磁盘然后上传到s3
- javascript - XMLHttpRequest 返回事件对象而不是实际数据
- fortran - Fortran 将未知大小的文件读入数组