java - 如何在 Java 中格式化字符串

标签 java string string-formatting

原始问题,但我如何格式化这样的字符串:

"Step {1} of {2}"

通过使用 Java 替换变量?在 C# 中这很容易。

最佳答案

看看String.format .但是请注意,它采用类似于 C 的 printf 系列函数的格式说明符——例如:

String.format("Hello %s, %d", "world", 42);

将返回“Hello world,42”。您可以找到 this在了解格式说明符时很有帮助。 Andy Thomas-Cramer 很友好地离开了 this下面评论中的链接,似乎指向官方规范。最常用的是:

  • %s - 插入一个字符串
  • %d - 插入一个有符号整数(十进制)
  • %f - 插入一个实数,标准符号

这与 C# 完全不同,C# 使用带有可选格式说明符的位置引用。 这意味着你不能做这样的事情:

String.format("The {0} is repeated again: {0}", "word");

... 实际上没有重复传递给 printf/format 的参数。(请参阅下面的 Scrum Meister 评论)


如果您只想直接打印结果,您可以根据自己的喜好找到 System.out.printf ( PrintStream.printf )。

关于java - 如何在 Java 中格式化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6431933/

相关文章:

java - 登录时 ~/bash_profile 中的 $JAVA_HOME 路径来源不正确

java - 动态创建类的实例

java - HibernateFilter.doFilter ServletException?

C# 字符串转字符串数组

c++ - 如何使用参数集合格式化 std::string?

java - 如何使用具有多种消息类型的干扰器

python - 如何比较 Pandas 中的两个字符串变量?

c - 在 c 中用另一个字符串替换一部分字符串的最佳方法?

python - 在 python 中进行字符串格式化时遇到问题

ruby - 如何在 ruby​​ 中使用 % 格式化字符串输出?