【发布时间】:2022-01-03 20:10:16
【问题描述】:
我一直在这个问题上卡住了,我的输出如下所示:前 2 个字母代表走廊编号,所以第一个是 17,后面的数字代表货架编号,(在走廊的位置) .正如您在走廊 17 架子 1 中看到的那样,我们有 A1 或 A,但这并不重要。我希望 171A1 的输出为 171,而 15211 的输出为 1521,所以我想删除末尾的字母以及后面可能出现的数字。
171A1
171A1
171A
171A0
15211
15211
15211
15210
15190
我尝试使用 string.Remove(string.Length-2) 但这不起作用,例如我们有 171A,它应该变成 171。任何帮助将不胜感激。
【问题讨论】:
-
使用
Regex.Replace(text, @"[A-Z]\d*$", "", RegexOptions.RightToLeft)。或者,@"(?:[A-Z]\d*|\d)$"如果前面没有字母,则必须删除最后一个数字。