代码之家  ›  专栏  ›  技术社区  ›  FanaticTyp

Java字符串格式(列)

  •  -1
  • FanaticTyp  · 技术社区  · 7 年前

    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);
      } 
    } 
    
    3 回复  |  直到 4 年前
        1
  •  4
  •   user1438038    7 年前

    Java提供 String.format() 使用各种选项来设置文本和数字的格式。

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

    语法与您的示例非常相似。基本上,要打印字符串,可以使用 %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 定义类型字符串 - 用于左对齐和 10 定义填充的宽度。

        2
  •  3
  •   Daniel Taub    7 年前

    Java还具有 String 格式选项:

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

    有许多格式说明符,如:

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

    要指定宽度,可以使用 %SomeNumber 选项
    正数将 右对齐 在指定的宽度内,将显示一个负数 左对齐 .

    这里是 Java format examples 您可以使用

        3
  •  1
  •   laune    7 年前

    简单字符串方法 format 提供与C的printf相同的内容。

    但是JDK类java。文本MessageFormat提供了一套非常丰富的格式化方法。