您好,我有一个 8 位数字的帐号。我怎样才能遍历它并用#替换数字并且只显示最后一个数字?
问问题
702 次
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
将 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 回答