Java中的内联字符串替换?

时间:2011-12-26 03:23:59

标签: java ruby string concatenation processing

我在Processing中做了一些工作,基本上是Java。我通常只使用Ruby工作,并且我已经习惯了很多相当优雅和漂亮的代码约定。

如果我有一个字符串,我想插入其他字符串,那么在Java中最好的方法是什么?

在Ruby中,我通常做这样的事情(每个变量都是一个字符串):

p "The #{person_title} took a #{mode_of_transit} to the #{holiday_location} for a nice #{verb} in the #{noun}"

在Java中我需要手动连接它们,如下所示:

println("The " + personTitle + " took a " + modeOfTransit + " to the " holidayLocation + for a nice " + verb + " in the " + noun)

这对我来说感觉不对。它有效,但它并不顺畅。有没有办法在Java中这样做?

4 个答案:

答案 0 :(得分:7)

最接近的是:

 String s = String.format("The %s took a %s to the %s for a nice %s in the %s", personTitle, modeOfTransit, holidayLocation, verb, noun);

答案 1 :(得分:3)

查看用于构建格式化字符串的String.format()方法,或直接用于格式化和打印的PrintStream.format()。 (System.outPrintStream。)

答案 2 :(得分:0)

您可以使用System.out.format()方法将格式化字符串写入System.out或使用静态方法格式化字符串String.format.有关格式化阅读this文章的详细信息。

System.out.format("The %s took a %s to the %s for a nice %s in the %s",
         personTitle, modeOfTransit, holidayLocation, verb, noun);

答案 3 :(得分:0)

您可以使用System.out.printf(与System.out.format相同)和format string"%s"是字符串的格式说明符),以使其看起来更流畅按照您想要的方式格式化输出。

还有String.format返回格式化的String,而不是必须打印它(如C中的sprintf)。