在.NET(也許只是VB.NET)的轉換的String.Format {0},{1},...爲確定字符串,例如:在Java中等效的String.Format(.NET)?
Dim St As String = "Test: {0}, {1}"
Console.WriteLine(String.Format(St, "Text1", "Text2"))
我試圖在這兩個搜索Google和StackOverflows,但它們都返回數字字符串格式。
在.NET(也許只是VB.NET)的轉換的String.Format {0},{1},...爲確定字符串,例如:在Java中等效的String.Format(.NET)?
Dim St As String = "Test: {0}, {1}"
Console.WriteLine(String.Format(St, "Text1", "Text2"))
我試圖在這兩個搜索Google和StackOverflows,但它們都返回數字字符串格式。
其他建議當然不錯,但更多的是printf
及其更新版本的Java血統。您發佈的代碼看起來受到MessageFormat
的啓發。
String format = "Test: {0}, {1}"
System.out.println(MessageFormat.format(format, "Text1", "Text2"))
我真的不某些關於什麼'Return:
語句儘管這樣做。
System.out.printf()
System.out.format()
對於其他方法使用:
StringBuilder sb = new StringBuilder();
Formatter f = new Formatter(sb, Locale.US);
f.format("my %s", "string");
它看起來比spinning_plate的方法長很多,它有什麼區別? –
這是一樣的結果,雖然Formatter我相信可以做更多的事情,但我會用他的方法去,我只是想展示一些其他的東西,以防你正在做不同類型的格式化。 –
String.format("Test: %s, %s",string1,string2)
謝謝,所以是%s,不是{}。 –
使用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);
。
這個答案不完整。這不是直接替代。 .NET中的{0}和{1}可以定義參數的位置。例如,它可能是「測試:{1},{0}」,因此%s,%s會替換錯誤的位置。 – frankish
相關問題:http://stackoverflow.com/questions/187676/java-equivalents-of-c-sharp-string-format-and-string-join?rq = 1 –
可能的重複[Java等效於。 NET的String.Format](http://stackoverflow.com/questions/3754597/java-equivalent-to-nets-string-format) –