gpt4 book ai didi

c# - 有没有办法在 C#/.NET 2.0 中将 C 格式字符串转换为 C# 格式字符串?

转载 作者:行者123 更新时间:2023-11-30 18:43:39 25 4
gpt4 key购买 nike

所以我想像这样转换字符串:

"Bloke %s drank %5.2f litres of booze and ate %d bananas"

使用 C# 等效的 .Format 或 .AppendFormat 方法

"Bloke {0} drank {1,5:f2} litres of booze and ate {2} bananas"

抱歉,我不确定 C# 版本是否正确,但你明白了。解决方案不一定要完美,但要涵盖基本情况。

谢谢 & BR -Matti

在我的另一个问题中回答了 How to write C# regular expression pattern to match basic printf format-strings like "%5.2f"?

最佳答案

您可能只使用 StringBuilder.Replace()

StringBuilder cString = new StringBuilder("Bloke %s drank %5.2f litres of booze and ate %d bananas");
cString.Replace("%s","{0}");
cString.Replace("%5.2f", "1,5:f2"); // I am unsure of this format specifier
cString.Replace("%d", "{2}");

string newString = String.Format(cString.ToString(), var1, var2, var3);

可以想象,您可以添加类似这样的东西作为 String 的扩展方法,但我认为您最大的问题将是特殊格式的说明符。如果这方面很重要,您可能需要设计一个正则表达式来捕获这些内容并有意义地执行替换。

关于c# - 有没有办法在 C#/.NET 2.0 中将 C 格式字符串转换为 C# 格式字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4097456/

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