Java 中的 String.Format (.NET) 等效项?

发布于 2024-11-25 11:33:39 字数 234 浏览 1 评论 0原文

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

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

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

The String.Format in .NET (maybe just VB.NET) convert {0}, {1}, ... into determined String, for example:

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

I've tried to search in both Google and StackOverflows, but they all return number-string format.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

深爱不及久伴 2024-12-02 11:33:39

其他建议当然很好,但更多的是 printf< 的风格/code>及其谱系是 Java 的最新添加内容。您发布的代码似乎受到 MessageFormat 的启发

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

我不太确定 'Return: 语句正在做什么。

The other suggestions are certainly good, but are more in the style of printf and its lineage which are more recent additions to Java. The code you posted looks to be inspired by MessageFormat.

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

I'm not really certain about what the 'Return: statement is doing though.

无言温柔 2024-12-02 11:33:39

使用 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(“如果将 %d 乘以 %s,会得到什么?”, varNumber, varText) ;

Use MessageFormat.format, you can also provide formatting arguments in the replacement tokens.

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);

Alternatively, String.format can be used but this doesn't guarantee position e.g. String.format("What do you get if you multiply %d by %s?", varNumber, varText);.

尐偏执 2024-12-02 11:33:39
String.format("Test: %s, %s",string1,string2)
String.format("Test: %s, %s",string1,string2)
古镇旧梦 2024-12-02 11:33:39
System.out.printf()
System.out.format()

对于其他方法,请使用:

StringBuilder sb = new StringBuilder();
Formatter f = new Formatter(sb, Locale.US);
f.format("my %s", "string");
System.out.printf()
System.out.format()

For other methods use:

StringBuilder sb = new StringBuilder();
Formatter f = new Formatter(sb, Locale.US);
f.format("my %s", "string");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文