格式化以下字符串的最有效方法是什么?

Ian*_*n P 5 c# string formatting

我有一个非常简单的问题,我不应该挂在这上面,但我是.哈哈!

我有一个字符串,我收到以下格式:

123

123456-D53

123455-4D

234234-4

123415

格式化后的所需输出是:

123-455-444

123-455-55

123-455-5

要么

123-455

格式最终取决于原始字符串中的字符总数.

我有几个关于如何做到这一点的想法,但我保留了比string更好的方法.替换和连接......

谢谢你的建议..

伊恩

Ant*_*ram 2

我认为这不仅仅依赖于输入始终是数字?如果是这样,我正在考虑这样的事情

private string ApplyCustomFormat(string input)
{
    StringBuilder builder = new StringBuilder(input.Replace("-", ""));

    int index = 3;
    while (index < builder.Length)
    {
        builder.Insert(index, "-");
        index += 4;
    }
    return builder.ToString();
}
Run Code Online (Sandbox Code Playgroud)