gpt4 book ai didi

c# - 正则表达式 - 在特定情况下替换 C# 字符串中的字符

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

我只想在输入字符串中没有数字时将所有括号替换为另一个。我写了这个工作代码示例:

    string pattern = @"(\{[^0-9]*?\})";
MatchCollection matches = Regex.Matches(inputString, pattern);
if(matches != null)
{
foreach (var match in matches)
{
string outdateMatch = match.ToString();
string updateMatch = outdateMatch.Replace('{', '[').Replace('}', ']');
inputString = inputString.Replace(outdateMatch, updateMatch);
}
}

因此:

string inputString = "{0}/{something}/{1}/{other}/something"

结果将是:

inputString = "{0}/[something]/{1}/[other]/something"

是否可以使用 Regex.Replace() 方法在一行中完成此操作?

最佳答案

你可以使用

var output = Regex.Replace(input, @"\{([^0-9{}]*)}", "[$1]");

参见 regex demo .

详情

  • \{ - { 字符
  • ([^0-9{}]*) - 捕获第 1 组:除数字、{} 之外的 0 个或更多字符>
  • } - } 字符。

替换为 [$1],第 1 组的内容用方括号括起来。

关于c# - 正则表达式 - 在特定情况下替换 C# 字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53009101/

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