有没有办法使用String.Format()修剪前导字符?

时间:2017-02-06 20:13:45

标签: c# string-formatting

需要知道有一种方法可以使用String.Format从字符串中删除前导字符。我在一些现有代码中有一个限制,我只能传递一个字符串和一个格式字符串。

你可以这样做吗

String.Format("Test output: {0:#}","001")

并生成输出

  

“测试输出:1”

我认为答案是“不”,但我想确定。

编辑:为了澄清,格式字符串将放在配置文件中,要格式化的字符串是来自数据库的值。我无法在其上执行任何代码。必须通过格式字符串。

1 个答案:

答案 0 :(得分:2)

你可以在传递的arg上做到这一点

String.Format("Test output: {0:#}", "001".TrimStart('0'))

或者,您可以使用结果字符串上的正则表达式对替换进行查找。

另一种方法是使用IFormatProvider的自定义实现来定义和传递您自己的格式化程序。我不确定您的上次编辑是否允许这样做。

但是,根据列出的限制,仅使用格式字符串输入

无法实现