如何用#替换数字

时间:2012-04-17 11:37:21

标签: c# asp.net

您好我有一个8位数的帐号。我怎样才能遍历它并用#替换数字并只显示最后一位数?

8 个答案:

答案 0 :(得分:3)

int number = 12345678;
String strNumber = number.ToString();
String result = "#######" + strNumber[strNumber.Length - 1];

答案 1 :(得分:1)

acct = Regex.Replace(acct, @"\d{7}", "#######");

答案 2 :(得分:1)

您可以使用Regex.Replace

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

答案 3 :(得分:1)

var result = Regex.Replace("01234567", "\\d{7}", "#######")

"01234567"

上添加您的帐号

然而,

可能会更快
var result = "#######" + acct.Substring(7)

(其中acct是帐号作为字符串 - 如果是int,则使用acct.ToString().Substring(7)

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

答案 4 :(得分:1)

<强> String Constructor (Char, Int32)

  

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

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

答案 5 :(得分:1)

8位数 - 显示最后1位。

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

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

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

答案 6 :(得分:0)

您可以将数字格式化为字符串,然后使用string.remove(0,7)从字符串中删除前7个字符,然后使用“#######”作为前缀。例如:

        int accNumber = 10085697;

        string strAccountNumber=accNumber.ToString();

        string truncatedAccountNumber="#######"+strAccountNumber.Remove(0,7);

答案 7 :(得分:0)

如果帐号为int

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

建议为Tim。但如果帐号为string

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