Java中的字符串格式

时间:2010-10-01 21:26:15

标签: java string

我最近一直在使用python太多了,我忘记了在Java中是否有办法做到这一点:

print "I am a %s" % string

我用Google搜索,但是如果您不确切地知道每种语言中的内容,很难找到这样的简单内容。

3 个答案:

答案 0 :(得分:10)

两种可能的简单方法:

String yourStringHere = "human";
System.out.println(String.format("I am a %s", yourStringHere));

System.out.printf("I am a %s\n", yourStringHere);

请注意,printf()不会打印换行符,因此您必须手动添加(“\ n”)。但是(感谢BalusC),您也可以在格式中使用"%n"。它将被默认的系统换行符替换。 (所以:String.format("I am a %s%n", yourString)
两者都打印I am a human\n

在Java中,它被称为formatting。另请查看String.format()

答案 1 :(得分:4)

System.out.println( "I am a " + string );

但我更喜欢这个:

System.out.println( String.format( "I am a %s", string ) );

答案 2 :(得分:2)

您可以使用MessageFormat.format()来执行此操作,但对于%s,您应该使用{0}(在这种情况下)。

System.out.print(MessageFormat.format("I am a {0}", string));

如果您想要本地化您的程序,这是更好的方式(或更糟糕的,取决于您想要实现的目标),因为它将自动使用本地化的数字格式。