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

限制字符串中的字符数,并切掉其余字符

甄华清
2023-03-14
问题内容

我需要在日志的末尾创建一个汇总表,其中包含在类内部获取的一些值。该表需要以固定宽度格式打印。我已经有执行此操作的代码,但是我需要将String,double和ints限制为在代码中硬编码的固定宽度大小。

因此,假设我要使用

    int,string,double,string
    int,string,double,string
    int,string,double,string
    int,string,double,string

    and the fixed widths are: 4, 5, 6, 6.

如果值超过此宽度,则需要截断最后一个字符。因此,例如:

    124891, difference, 22.348, montreal

需要打印的字符串应为:

    1248 diffe 22.348 montre

我想我需要在构造函数中执行一些操作,以强制字符串不超过一定数量的字符。我可能会将双精度和整数转换为字符串,因此可以强制执行最大宽度要求。

我不知道这是哪种方法,或者是否可以实例化字符串以使其行为。使用格式化程序只会帮助使用固定格式格式化来打印字符串,但实际上不会砍除超过最大长度的字符。


问题答案:

使用它来剪掉不需要的字符:

String.substring(0, maxLength);

例:

String aString ="123456789";
String cutString = aString.substring(0, 4);
// Output is: "1234"

为确保当输入字符串小于预期长度时,不会出现IndexOutOfBoundsException,请执行以下操作:

int maxLength = (inputString.length() < MAX_CHAR)?inputString.length():MAX_CHAR;
inputString = inputString.substring(0, maxLength);

如果您希望整数和双精度数具有特定长度,则建议您使用NumberFormat格式化数字,而不要切断其字符串表示形式。



 类似资料:
  • 我假设这不是正确的格式。有人知道我如何在java中正确地做到这一点吗?

  • 在iOS10中,NSlog限制为1024个字符,任何人都知道打印完整字符串的解决方法。

  • 问题内容: 我正在寻找一种方法来限制php中的字符串,并在字符串过长时在末尾添加…。 问题答案: 您可以使用类似于以下内容的东西:

  • 问题内容: 我希望能够限制文本区域中的字符数。我使用的方法在Google Chrome浏览器中效果很好,但是在Firefox中运行缓慢,在IE中不起作用。 Javascript: HTML: 正文元素底部的Javascript: 问题答案: 我发现了一个很好的解决方案,如果浏览器支持,则使用maxlength属性,并在不支持的浏览器中回退到不引人注意的javascript pollyfill。 H

  • 对性能是否有影响? 不同Java版本的行为是否有差异?

  • 我有一个文本包含一些我想要标记的单词,要标记的单词包含在一个列表中。问题是其中一些单词是其他单词的子字符串,但我想从列表中标记最长的可识别字符串。 例如,如果我的文本是“foo和bar不同于foo bar。”我的列表包含“foo”、“bar”和“foo bar”,结果应该是“[tag]foo[/tag]和[tag]bar[/tag]不同于[tag]foo bar[/tag]。”