正则表达式:将输入中的最后 4 个数字替换为星号正则表达式
本文关键字:正则表达式 数字 替换 最后 输入 | 更新日期: 2023-09-27 18:32:00
我目前需要一些关于Automapper(C#)中的正则表达式的帮助。
我想用符号 * 替换最后 4 位(和另一个输入中的 2 位)数字。现在我只覆盖最后一个数字。
.AfterMap((from, to) =>
{
if (from.x!= null)
to.x= Regex.Replace(from.x, "[0-9]{2}$", "*");
if (from.y!= null)
to.y= Regex.Replace(from.y, "[0-9]{4}$", "*");
})
请帮忙!
您的正则表达式很好,并且符合您想要的。 但是,在这两种情况下,您都只插入一个*
。 用:
.AfterMap((from, to) =>
{
if (from.x!= null)
to.x= Regex.Replace(from.x, "[0-9]{2}$", "**");
if (from.y!= null)
to.y= Regex.Replace(from.y, "[0-9]{4}$", "****");
})
正如詹姆斯·索普(James Thorpe)所注意到的那样,唯一的问题是您的替换字符串。
因此,对于挑战:一种模式来统治所有
to.z = Regex.Replace(from.z, "[0-9]{2}(?=(?:[0-9]{2})?$)", "**");