gpt4 book ai didi

c# - 用正则表达式替换字符串

转载 作者:行者123 更新时间:2023-11-30 15:10:15 26 4
gpt4 key购买 nike

我有以下情况

案例一:

输入: X(P)~AK,X(MV)~AK

替换为: AP

输出: X(P)~AP,X(MV)~AP

案例 2:

输入: X(PH)~B$,X(PL)~B$,X(MV)~AP

替换为:USD$

输出: X(PH)~USD$,X(PL)~USD$,X(MV)~USD$

可以看出,总是 ~<string>将被替换。

是否可以通过正则表达式实现相同的目的?

注意:~ 除了结构之外,编译时什么都不知道。典型结构

就像

X(<Variable Name>)~<Variable Name>

我正在使用 C#3.0

最佳答案

这个简单的正则表达式可以做到这一点:

~(\w*[A-Z$])

你可以在这里测试它:

http://regexhero.net/tester/

选择选项卡 Replace at RegexHero。

输入 ~(\w*[A-Z$]) 作为正则表达式。

输入 ~AP 作为替换字符串。

输入 X(P)~AK,X(MV)~AK 作为目标字符串。

你会得到这样的输出:

X(P)~AP,X(MV)~AP

在 C# 惯用语中,你会有这样的东西:

class RegExReplace
{
static void Main()
{
string text = "X(P)~AK,X(MV)~AK";

Console.WriteLine("text=[" + text + "]");

string result = Regex.Replace(text, @"~(\w*[A-Z$])", "~AP");

// Prints: [X(P)~AP,X(MV)~AP]
Console.WriteLine("result=[" + result + "]");

text = "X(PH)~B$,X(PL)~B$,X(MV)~AP";

Console.WriteLine("text=[" + text + "]");

result = Regex.Replace(text, @"~(\w*[A-Z$])", "~USD$");

// Prints: [X(PH)~USD$,X(PL)~USD$,X(MV)~USD$]
Console.WriteLine("result=[" + result + "]");
}
}

关于c# - 用正则表达式替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3464405/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com