字符串格式(列)

问题描述 投票:-1回答:3

是否有java中的本地Java代码或库用于格式化字符串,就像在C#中制作的一样?

来源:Format a string into columns(C#)

public string DropDownDisplay { 
  get { 
    return String.Format("{0,-10} - {1,-10}, {2, 10} - {3,5}"),
      Name, City, State, ID);
  } 
} 
java string-formatting
3个回答
2
投票

Java还有一个String格式化选项:

public String DropDownDisplay(){
    return String.format("%-10s - %-10s, %10s - %5s", "name", "city", "state", "id");
}

有许多格式说明符:

  • %s - 字符串值
  • %d - 十进制整数

要指定宽度,可以使用%SomeNumber选项, 正数将在指定宽度内右对齐,负数将为左对齐。 这是你可以使用的Java format examples


2
投票

Java为String.format()提供了各种格式化文本和数字的选项。

它不需要额外的库,它是一个内置功能。

语法与您的示例非常相似。基本上,要打印String,可以使用%s占位符。对于十进制数,请使用%d。请参阅上面的链接以获取所有可能类型的完整列表。

String name = "Saskia";
int age = 23;
String formattedText = String.format("%s is %d years old.", name, age);

如果需要类似列的输出,可以为其他填充和对齐添加标志。

String formattedText = String.format("%-10s is %-5d years old.", name, age);

%-10s中,%s定义了String类型,-用于左对齐,10定义填充的宽度。


1
投票

简单的String方法format提供与C的printf相同的方法。

但是JDK类java.text.MessageFormat提供了一组非常丰富的格式化方法。

© www.soinside.com 2019 - 2024. All rights reserved.