gpt4 book ai didi

c# - 如何使用正则表达式替换模式?

转载 作者:太空宇宙 更新时间:2023-11-03 21:11:22 25 4
gpt4 key购买 nike

首先,我用谷歌搜索了这个问题,然后找到了解决方案(显然)。但我无法让它发挥作用。所以我的问题更多是“为什么这是错误的……”,而不是“如何制作这个……”

我写了这段代码:

private const string pattern = @"^[_L]{2}[0-9]{2}$";
public string RemoveL(string child)
{
Regex regex = new Regex(pattern);
return regex.Replace("SUB_1_SC_0310_1_A_L01", "");
}

此代码尝试从任何字符串中删除 L_XX。所以:

SUB_1_SC_0310_1_A_L01 --> SUB_1_SC_0310_1_A

但它返回相同的字符串 SUB_1_SC_0310_1_A_L01

知道我做错了什么吗?

最佳答案

这是错误的,因为您使用了 ^$ 表示字符串的开始和结束。将您的正则表达式更改为 [_L]{2}[0-9]{2},它将起作用。

请注意,您可以使用 \d 而不是 [0-9] 并且 [_L]{2} 将匹配任何组合_L,更喜欢 _L

我会使用 _L\d{2}

您似乎想让第二个数字成为可选的。您有几个选择:

  • _L\d\d? <= ? 使第二个数字可选;
  • _L\d{1,2} <= {a,b} 确保前面的模式从 ab 次(含)

关于c# - 如何使用正则表达式替换模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37440966/

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