gpt4 book ai didi

c# - 将 C# 中的字符串(不是数字或日期)格式化为给定模式

转载 作者:行者123 更新时间:2023-11-30 21:31:38 25 4
gpt4 key购买 nike

是否有类似 string.format 的东西来格式化字符串,我可以在其中传递目标模式。 string.format 似乎仅用于格式化数字和模式以及在给定位置内插入值。在给定模式之后格式化字符串是否有比自己编程的通用解决方案?

我想给出目标模式和输入字符串,然后按照我提供的模式输出字符串。

我可以举一些例子。

Input               Output           Input pattern (idea)
---------------------------------------------------------
123.456.001 00123.456.001 00000.000.###
D1234567 D-123-4567 D-000-#### (where D is literal)

所以,我的问题是:有没有一种方法可以将 string 格式化为给定的模式,就像数字和日期一样?

最佳答案

我会考虑为您需要的每种不同格式制作客户格式化程序类。下面有一个非常简单的示例,没有错误处理等...

// custom formatter class
public class FormatD : IFormattable
{
public string ToString(string format, IFormatProvider provider)
{
return format[0] + "-" + format.Substring(1,3) + "-" + format.Substring(4);
}
}

调用:

 var input = "D1234567";
var ouput = String.Format("{0:" + input + "}", new FormatD());

关于c# - 将 C# 中的字符串(不是数字或日期)格式化为给定模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53062308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com