"A55" "0A050" -> -6ren">
gpt4 book ai didi

c# - 删除除数字以外的所有零

转载 作者:太空狗 更新时间:2023-10-30 00:56:45 28 4
gpt4 key购买 nike

我必须删除字符串中的所有零,但我必须保留数字中的零。

我收到的字符串采用类似于“零字母零数字”的格式,没有“-”并且数字始终是整数。几个例子:

"0A055" -> "A55"
"0A050" -> "A50"
"0A500" -> "A500"
"0A0505" -> "A505"
"0055" -> "55"
"0505" -> "505"
"0050" -> "50"

我知道我可以遍历字符串中的字符并在遇到不同于 0 的字母或数字时设置一个标志,但我认为使用 RegEx 会更好。如果我必须在数据库中使用此算法,RegEx 也会更有帮助。

我试过类似的方法,但没有得到我想要的结果:

Regex r = new Regex(@"[0*([a-zA-Z]*)0*([1-9]*)]");
string result = r.Replace(input, "");

我不太擅长编写 RegEx-es,如果可以请帮助我。

最佳答案

我不相信正则表达式是解决这个问题的最佳方式,但这个适用于您所有的测试用例:

string clean = Regex.Replace(dirty, @"(?<!\d)0+|0+(?!\d|$)", "");

关于c# - 删除除数字以外的所有零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6912228/

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