6

.NET(可能只是 VB.NET)中的 String.Format 将 {0}、{1}、... 转换为确定的字符串,例如:

Dim St As String = "Test: {0}, {1}"
Console.WriteLine(String.Format(St, "Text1", "Text2"))

我尝试在 Google 和 StackOverflows 中搜索,但它们都返回数字字符串格式。

4

4 回答 4

8

其他建议当然很好,但更多的是 Java 的风格printf及其沿袭,这是 Java 的最新添加。您发布的代码看起来受MessageFormat.

String format = "Test: {0}, {1}"
System.out.println(MessageFormat.format(format, "Text1", "Text2"))

不过,我不确定该'Return:声明在做什么。

于 2011-07-21T00:43:12.167 回答
6

使用MessageFormat.format,您还可以在替换标记中提供格式化参数。

message = MessageFormat.format("This is a formatted percentage " +
                "{0,number,percent} and a string {1}", varNumber, varText);
        System.out.println(message);

message = MessageFormat.format("This is a formatted {0, number,#.##} " +
                "and {1, number,#.##} numbers", 25.7575, 75.2525);
        System.out.println(message);

或者,String.format可以使用,但这不能保证位置,例如String.format("What do you get if you multiply %d by %s?", varNumber, varText);.

于 2011-07-21T00:40:30.097 回答
4
String.format("Test: %s, %s",string1,string2)
于 2011-07-21T00:37:34.727 回答
0
System.out.printf()
System.out.format()

对于其他方法,请使用:

StringBuilder sb = new StringBuilder();
Formatter f = new Formatter(sb, Locale.US);
f.format("my %s", "string");
于 2011-07-21T00:37:21.113 回答