-7

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

4

8 回答 8

3
int number = 12345678;
String strNumber = number.ToString();
String result = "#######" + strNumber[strNumber.Length - 1];
于 2012-04-17T11:43:11.317 回答
1

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

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

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

acctNumber.ToString("\\#\\#\\#\\#\\#\\#\\#0");
于 2012-04-17T11:45:57.300 回答
1
acct = Regex.Replace(acct, @"\d{7}", "#######");
于 2012-04-17T11:40:44.263 回答
1

你可以使用一个Regex.Replace.

    var input = "12345678";
    var pattern = new Regex(@"\d{7}");
    var result = pattern.Replace(input, "#######");
于 2012-04-17T11:40:57.320 回答
1
var result = Regex.Replace("01234567", "\\d{7}", "#######")

将您的帐号替换为"01234567"

但是,这样做可能会更快

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

acct作为字符串的帐号在哪里 - 如果是int然后使用acct.ToString().Substring(7)

如果你能保证acct是8个字符长。

于 2012-04-17T11:41:11.737 回答
1

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

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

string Number = "12345678";
string str = new string('#', 7) + Number.Substring(Number.Length - 1);
于 2012-04-17T11:45:10.537 回答
0

如果帐号是int

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

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

string accountNumber = "12345678";
string result = "#######" + acc.ToCharArray()[accountNumber.Length - 1];
于 2012-04-17T11:50:34.460 回答
0

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

        int accNumber = 10085697;

        string strAccountNumber=accNumber.ToString();

        string truncatedAccountNumber="#######"+strAccountNumber.Remove(0,7);
于 2012-04-17T11:49:21.550 回答