如何将数字替换为 #

本文关键字:替换 数字 | 更新日期: 2023-09-27 18:31:18

嗨,我有一个8位数长的帐号。如何循环遍历它并用 # 替换数字并仅显示最后一个数字?

如何将数字替换为 #

int number = 12345678;
String strNumber = number.ToString();
String result = "#######" + strNumber[strNumber.Length - 1];
acct = Regex.Replace(acct, @"'d{7}", "#######");
您可以使用

Regex.Replace .

    var input = "12345678";
    var pattern = new Regex(@"'d{7}");
    var result = pattern.Replace(input, "#######");
var result = Regex.Replace("01234567", "''d{7}", "#######")
替换

您的帐号超过"01234567"

但是,这样做可能会更快

var result = "#######" + acct.Substring(7)

(其中acct是字符串形式的帐号 - 如果是int则使用acct.ToString().Substring(7)

如果您可以保证acct长度为 8 个字符。

字符串构造函数(字符,Int32)

将 String 类的新实例初始化为指示的值 通过指定的 Unicode 字符重复指定的次数。

string Number = "12345678";
string str = new string('#', 7) + Number.Substring(Number.Length - 1);

8 位数字 - 显示最后 1 位。

string acctNumber = "12345678".Substring(7, 1).PadLeft(8, '#');

ToString() 也是一个不错的选择:

acctNumber.ToString("''#''#''#''#''#''#''#0");

如果帐号为int

int accountNumber = 12345678;
String result = "#######" + accountNumber .ToString()[7];

正如蒂姆所建议的那样。但如果帐号string

string accountNumber = "12345678";
string result = "#######" + acc.ToCharArray()[accountNumber.Length - 1];

您可以将数字格式化为字符串,然后使用string.remove(0,7)从字符串中删除前 7 个字符,然后在前面加上"#######"。例如:

        int accNumber = 10085697;
        string strAccountNumber=accNumber.ToString();
        string truncatedAccountNumber="#######"+strAccountNumber.Remove(0,7);