gpt4 book ai didi

c# - 从逗号分隔的数字列表中删除数字

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

我有一个数字列表,如下所示:

[123,45,6,78,9]
[45]
[45,123,456]
[1234,45]
[]
[123,4,67,8,9]

假设我想删除数字 45 以尽可能少的回溯来删除,我写了以下正则表达式:

(\[)((?=\])|(45(?=\])|45,|(?>([^,]|,(?!45(?:,|\])))))([^\]\])

此正则表达式适用于除最后一种情况之外的所有情况,我们将不胜感激。

最佳答案

使用这个:

(?<=\[)45,?|,?\b45\b

在 C# 中:

resultString = Regex.Replace(yourString, @"(?<=\[)45,?|,?\b45\b", "");

the regex demo , 查看底部的替换。

解释

  • 我们匹配45在两种情况下,在 | 的两侧交替
  • 在左边,lookbehind (?<=\[)断言前面的是 [
  • 45,?匹配 45 和一个可选的逗号
  • |
  • ,?匹配一个可选的逗号
  • \b45\b在单词边界内

关于c# - 从逗号分隔的数字列表中删除数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24858327/

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