gpt4 book ai didi

c# - 如何在 C# 中替换文件中的多个文本?

转载 作者:行者123 更新时间:2023-11-30 12:23:18 24 4
gpt4 key购买 nike

我正在使用 C# 自动化流程。我的脚本如下所示,

 UPDATE   Table
SET param_val = REPLACE(param_val,'Proxy430/','Proxy440/')
WHERE param_key = 'PROXY_URL';

UPDATE Table
SET param_val = REPLACE (param_val, '.420/', '.430/')
WHERE param_val LIKE '%.420/%';

每个月,我们都会升级版本,例如 44 代替 4343 代替 42 并运行此脚本。为了实现自动化,我编写了 C# 代码并使用了以下代码

string text = File.ReadAllText(filePath);
text.Replace(oldvale, newvalue);
File.WriteAllText(filepath, text);

但是,问题是它只能替换一个词。如何替换文件中的两个文本。在我的例子中,Proxy430 应该被替换为 Proxy440Proxy440Proxy450 中。

如何实现?

最佳答案

如果您以正确的顺序调用替换,您可以在一行中完成两个替换。

string TestString = @"UPDATE   Table
SET param_val = REPLACE(param_val, 'Proxy430/', 'Proxy440/')
WHERE param_key = 'PROXY_URL';

UPDATE Table
SET param_val = REPLACE(param_val, '.420/', '.430/')
WHERE param_val LIKE '%.420/%'; ";

const string oldFrom = "Proxy430";
const string oldTo = "Proxy440";
const string newFrom = "Proxy440";
const string newTo = "Proxy450";

string result = TestString.Replace(newFrom, newTo).Replace(oldFrom, oldTo);
Console.WriteLine(result);

输出是:

UPDATE   Table
SET param_val = REPLACE(param_val, 'Proxy440/', 'Proxy450/')
WHERE param_key = 'PROXY_URL';

UPDATE Table
SET param_val = REPLACE(param_val, '.420/', '.430/')
WHERE param_val LIKE '%.420/%';

关于c# - 如何在 C# 中替换文件中的多个文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37499335/

24 4 0
文章推荐: c# - WCF设计原则: Is it a good idea to edit auto-generated proxy classes?
文章推荐: javascript - AngularJS 中的通用 getterSetter
文章推荐: javascript - 当