【问题标题】:mask account number with string.format用 string.format 屏蔽帐号
【发布时间】:2010-12-22 16:27:04
【问题描述】:

我有一个可变长度的银行帐号。

1234567890123
0987654321

我想屏蔽帐号以供查看,最后 4 位除外。

XXXXXXXXX0123
XXXXXX4321

有没有办法让它使用 String.Format 屏蔽除最后 4 个以外的所有数字,而不使用 Substring 提取最后 4 个数字?

编辑:

子字符串没有错。我只是想看看是否有一个简单的格式化字符串可以将除了最后 4 个字符之外的所有字符都转换成其他字符。

【问题讨论】:

  • 使用子字符串有什么问题?
  • 似乎缺少上下文 - 为什么需要使用 String.Format 而不是使用 Substring 的限制?
  • 没什么。我只是想知道这是否可能。 :)

标签: string formatting masking


【解决方案1】:

使用子字符串有什么问题?

但是,如果您将号码放在long 中(需要保存所有数字),您可以使用number % 10000 来提取最后四位数字,并为 XXX 提供一个固定字符串...

回答问题的字面意思,而不是您可能真正的意思:)您可以实现自定义格式化程序来打印蒙面帐号,然后会有一个“简单格式字符串”以您的方式打印内容想要

this page 的第二个示例格式化(所有数字)帐号。可以修改它以打印掩码版本。

【讨论】:

  • 子字符串没有问题。我只是想知道是否有一种可用的格式可以将除最后 4 个字符之外的所有字符转换为“X”。并且帐号是String
  • 我意识到帐号是一个字符串。但是将其转换为 Long 并且 mod 10000 将获得最后四位数字。
猜你喜欢
  • 2013-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-25
  • 1970-01-01
  • 1970-01-01
  • 2018-04-28
  • 2018-05-04
相关资源
最近更新 更多