如何掩盖字符串?

我有一个值为“1131200001103”的字符串。

如何使用Response.Write(value)以“11-312-001103”格式将其显示为字符串?

谢谢

这产生了所需的结果

string result = Int64.Parse(s.Remove(5,2)).ToString("00-000-000000"); 

假设您要在2个第一个空值的位置删除2个字符。

你不想只使用Substring吗?

 string dashed = text.Substring(0, 2) + "-" + text.Substring(2, 3) + "-" + text.Substring(7); 

要么:

 string dashed = string.Format("{0}-{1}-{2}", text.Substring(0, 2), text.Substring(2, 3), text.Substring(7)); 

(我假设你故意错过了0中的两个?不清楚哪个是 0,不可否认……)

显然你应该首先validation字符串是否正确…

您可以尝试使用正则表达式并将其放在扩展方法ToMaskedString()中

 public static class StringExtensions { public static string ToMaskedString(this String value) { var pattern = "^(/d{2})(/d{3})(/d*)$"; var regExp = new Regex(pattern); return regExp.Replace(value, "$1-$2-$3"); } } 

然后打电话

 respne.Write(value.ToMaskedString()); 

也许是这样的

 string result = str.SubString(0, 2) + "-" + str.SubString(2, 3) + "-" + str.SubString(7); 

str是“11312000011103”字符串