当前位置: 首页 > 面试题库 >

Java-使用格式化程序标志从左截断字符串

尹正奇
2023-03-14
问题内容

我有一个字符串,说:

String s = "0123456789";

我想用格式化程序填充它。我可以通过两种方式做到这一点:

String.format("[%1$15s]", s); //returns [     0123456789]

要么

String.format("[%1$-15s]", s); // returns [0123456789     ]

如果我想截断文本我

String.format("[%1$.5s]", s);  // returns [01234]

如果我想从左侧截断,我想我可以这样做:

String.format("[%1$-.5s]", s); // throws MissingFormatWidthException

但这失败了,所以我尝试了这个:

String.format("[%1$-0.5s]", s); // throws MissingFormatWidthException

以及这个:

String.format("[%1$.-5s]", s); // throws UnknownFormatConversionException

那么,如何使用格式标志从左侧截断呢?


问题答案:

-标志用于说明理由,似乎与截断没有任何关系。

.用于“精准”,这显然转化为截断的字符串参数。

我认为格式字符串不支持从左截断。你必须求助于

String.format("[%.5s]", s.length() > 5 ? s.substring(s.length()-5) : s);


 类似资料:
  • 问题内容: 我有一个有效的JSON字符串,我想对其进行整理/格式化,以使每个属性/值对在其自己的行上,依此类推(当前它在一行上,没有空格/换行符)。 我正在使用Apache Sling 对我的JSON对象建模并将其转换为String,因此,如果可以将Sling 设置为输出一个整洁的字符串(我认为它不可能),那也可以工作。 如果我需要一个第三方库,我希望尽可能少地依赖一个库(例如Jackson仅需要

  • 问题内容: 如何在GWT中格式化我的字符串? 我做了一个方法 但它抱怨说 不包括格式化程序吗? 问题答案: 更新:在进一步查看此答案之前,请先查看(并投票)约瑟夫·卢斯特的帖子。 看起来这篇文章没有包含格式化器。但是,他们提出了一些替代方案。

  • Highcharts 图表中的任意文字都可以通过 format (格式化字符串)或 formatter (格式化回调函数) 属性来进行修改,format 总是有对应的一个或多个 formatter ,其中 format 字符串简单方便,formatter 回调函数则更加灵活,他们两都是兼容 JSON 格式的。 一、HTML标签 默认情况下,Highcharts 中的文字及标签使用 SVG 渲染的,

  • 问题内容: 我尝试将这行添加到logging.properties中,但是输出不会改变 我也尝试了System.setProperty,但仍然无法正常工作,我在做什么错? 问题答案: 一堆东​​西可能在这里出错。首先,请确保您正在运行的Java版本(7 b138)已修复了JDK-6381464的问题:SimpleFormatter应该使用一种单行格式。 文档中未解释的一件事是,仅当您通过命令行设置

  • 是否有一种方法告诉Eclipse格式化程序,当字符串太长时,它应该用拆分它,以自动适应最大行宽? 例如,如果我的最大行宽是80,我想这样做:

  • 本文向大家介绍Java中使用%(百分号)格式化字符串,包括了Java中使用%(百分号)格式化字符串的使用技巧和注意事项,需要的朋友参考一下 以下是使用%在Java中实现字符串格式的代码- 示例 输出结果 一个名为Demo的类包含主函数。这里定义了一个字符串值,通过将其连接到另一个变量来格式化该字符串。类似地,也使用%运算符对浮点数进行格式化。这两个值都打印在控制台上。