将XXXXXXXXX的社会安全号码(SSN)格式化为XXX-XX-XXXX
我从数据仓库获取社会安全号码(SSN)。 在将其发布到CRM时,我希望将其格式化为XXX-XX-XXXX
而不是XXXXXXXXX
。
这就像在第4
和第7
位用短划线转换一个简单的字符串。 我对C#很陌生,那么最好的方法是什么?
查看String.Insert方法。
string formattedSSN = unformattedSSN.Insert(5, "-").Insert(3, "-");
对于简单,简短和自我评论的解决方案,请尝试:
String.Format("{0:000-00-0000}", 123456789)
123456789
代表您的SSN变量。
string ssn = "123456789"; string formattedSSN = string.Join("-", ssn.Substring(0,3), ssn.Substring(4,2), ssn.Substring(6,4));
如果SSN存储为数字而不是字符串,@ George的选项可能更清晰。
没有数据validation,假设你只得到9个字符串,我会选择这样的东西 –
return s.Substring(0, 3) + "-" + s.Substring(3, 2) + "-" + s.Substring(5, 4);
但是……我也很新……所以GendoIkari的答案太好了。
当字符串不固定长度时,上面的答案可能会引发exception。
在我的情况下,我使用以下方式SSN格式化及其工作。
string SSN = "56245789"; if (SSN.Length > 3 && SSN <= 5) SSN = SSN.Insert(3, "-"); else if (SSN.Length > 5) SSN = SSN.Insert(5, "-").Insert(3, "-");
因此SSN将获得562-45-789。