gpt4 book ai didi

c# - 如何使用通配符删除字符串的特定部分?

转载 作者:太空宇宙 更新时间:2023-11-03 18:37:17 24 4
gpt4 key购买 nike

目前,我使用:

变量:

 int recordCount = 5;
Header = "Index"; // Can also be "Starting Index"

标题:

 Header = Header.Split(' ')[0] + " (" + recordCount + ")";

变化:

 Index (5)

收件人:

 Index (6)

当我想用一个新的 Header 替换 Header 时,我使用上面的方法,但问题是当我开始在 Header 中使用多个单词时,它会删除 Header 的其余部分姓名。即当它说 Starting Index: 时,它只显示 Starting

我可以使用 Regex 简单地查找括号之间的值并将其替换为另一个变量吗?

最佳答案

Regex re = new Regex(@"\(\w+\)");
string input = "Starting Index: (12asd)";
string replacement = "12ddsa";
string result = re.Replace(input, replacement);

如果您需要执行更复杂的替换(即,如果替换取决于大括号之间捕获的值),您将不得不坚持使用 Regex.Match 方法

更新:使用 Match 很快就会变得丑陋:)

 Regex re = new Regex(@"^(.*)\((\w+)\)\s*$");
string input = "Starting Index: (12)";
var match = re.Match(input);

string target = match.Groups[2].Value;
//string replacement = target + "!!!!"; // general string operation
int autoincremented = Convert.ToInt32(target) + 1; // if you want to autoincrement

string result = String.Format("{0}: ({1})", match.Groups[1].Value, autoincremented);

关于c# - 如何使用通配符删除字符串的特定部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13495009/

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