将特殊字符添加到字符串值以使用 C# 显示传真号码

Add special characters to string value to display Fax Number using C#

我有如下传真示例中的字符串值

string fax="1111111111";

我需要上面字符串的以下结果来为下面的传真格式添加特殊字符。

(111)-111-1111

我的代码供参考,因为我的问题正在解决请帮助任何人获得结果

        var list = (dynamic)null;
        if (!String.IsNullOrEmpty(faxdos.medicalRecordsFax) && !String.IsNullOrEmpty(faxdos.fax))
        {

            list = new List<SelectListItem>
        {
          new SelectListItem{ Text=String.Format("{0:(###)-###-####}", faxdos.medicalRecordsFax)+" - Medical Records Fax", Value = faxdos.medicalRecordsFax},
          new SelectListItem{ Text=String.Format("{0:(###)-###-####}", faxdos.fax), Value = faxdos.fax },
        };
        }
        else if (!String.IsNullOrEmpty(faxdos.medicalRecordsFax))
        {
            list = new List<SelectListItem>
        {
          new SelectListItem{ Text=String.Format("{0:(###)-###-####}", faxdos.medicalRecordsFax)+" - Medical Records Fax", Value = faxdos.medicalRecordsFax},

        };
        }
        else if (!String.IsNullOrEmpty(faxdos.fax))
        {
            list = new List<SelectListItem>
        {
          new SelectListItem{ Text=String.Format("{0:(###)-###-####}", faxdos.fax), Value = faxdos.fax },
        };
        }
        else
        {
            list = new List<SelectListItem>
        {
          new SelectListItem{ Text="", Value = "" },
        };
        }
        // ViewBag.emp = list;
        var result = new SelectList(list, "Text", "Value");
        

        return Json(result, JsonRequestBehavior.AllowGet);

好吧,写代码来做怎么样

string fax="1111111111";

string str2 = $"({fax.Substring(0,3)})-{fax.SubString(3,3)}-{fax.Substring(6,4)}";

如果您想使用 var result = string.Format("{0:(###)-###-####}", someValue) 格式化机制,那么您格式化的值需要是数字,而不是字符串。所以你可以这样做:

var telNoString = "1111111111";
if (long.TryParse(telNoString, out var telno))
{
    var result = string.Format("{0:(###)-###-####}", telno);
    Debug.WriteLine(result);
}

这将在调试控制台中产生 (111)-111-1111