您好我有一个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];