问题:我想在手机中添加字符.
因此,我想显示(###)### - ####,而不是显示### - ### - ####.
我尝试了以下方法:
string x = "Phone_Number";
string y = x.Remove(0,2);//removes the "1-"
Run Code Online (Sandbox Code Playgroud)
从这里开始,我不确定如何在###周围添加"()"
任何帮助,将不胜感激.
值得注意的是,字符串在C#中是不可变的.这意味着如果你试图修改一个字符串,你将总是被赋予一个新的字符串对象.
一种方法是转换为数字(作为健全性检查),然后格式化字符串
var result = String.Format("{0:(###) ###-####}", double.Parse("8005551234"))
Run Code Online (Sandbox Code Playgroud)
如果您不想进行双重转换,那么您可以执行以下操作:
var result = String.Format("({0}) {1}-{2}", x.Substring(0 , 3), x.Substring(3, 3), x.Substring(6));
Run Code Online (Sandbox Code Playgroud)
或者,如果你已经有连字符,并且真的只想在括号中插入,那么你可以这样做:
var result = x.Insert(3, ")").Insert(0, "(");
Run Code Online (Sandbox Code Playgroud)