gpt4 book ai didi

c# - 如何将字符串中的 [city] 替换为 [City]

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

我想将 [city]、[cIty]、[ciTY]、... 替换为 [City]
我认为正则表达式是一个很好的解决方案,但我不擅长正则表达式。

尝试过的代码:

var text = "[City] [CIty] [ciTY] [city] [CITy]";

if (text.Contains("[city]"))
{
//text = text.Replace("[city]", "[City]");
text = Regex.Replace(text, @"[city]", "[City]");
textbox.Text = text;

textbox.SelectionStart = textbox.Text.Length;
textbox.SelectionLength = 0;
}

输出除外

[City] [City] [City] [City] [City]

那是行不通的,因为 regex 语法没有完成

最佳答案

三点:

  1. 要匹配文本中的方括号 [],您需要在正则表达式中对它们进行转义:@"\[city\]"

  2. Regex.Replace 中添加忽略大小写的选项 RegexOptions.IgnoreCase

  3. 对于“包含”,它不使用正则表达式。使用 Regex.IsMatch相反。

所以这会把你问题中的代码变成这样:

var text = textbox.Text;
var pattern = @"\[City\]";

// Will match [city], [cITy], [CITY], but not exactly [City]
if (Regex.IsMatch(text, pattern, RegexOptions.IgnoreCase) && !Regex.IsMatch(text, pattern))
{
text = Regex.Replace(text, pattern, "[City]", RegexOptions.IgnoreCase);

// same code after that
}

关于c# - 如何将字符串中的 [city] 替换为 [City],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59181107/

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