在 Java 中添加空格

Posted

技术标签:

【中文标题】在 Java 中添加空格【英文标题】:Adding whitespace in Java 【发布时间】:2011-07-12 02:19:54 【问题描述】:

有一个类trim()可以去掉空格,添加/填充怎么样?

注意:" " 不是解决方案。

【问题讨论】:

添加一些“之前”和“之后”的例子。 【参考方案1】:

我认为您在谈论用空格填充字符串。

一种方法是使用字符串format codes.

例如,如果您想用空格将字符串填充到特定长度,请使用以下内容:

String padded = String.format("%-20s", str);

在格式化程序中,% 引入了格式化序列。 - 表示该字符串将左对齐(将在字符串末尾添加空格)。 20 表示生成的字符串长度为 20 个字符。 s为字符串格式码,格式序列结束。

【讨论】:

字符和空格的长度不同,如何保证长度一致? @surendrapanday 很抱歉,我不明白你的问题。你能解释更多吗?也许是一个例子? 此解决方案在控制台中产生正确的输出,但是当在 BufferedImage 中使用相同的字符串从字符串创建 Image 时,这会产生输出。 aaa : bbb mmm : ccc @surendrapanday 这在很大程度上取决于您为渲染缓冲图像而进行的Graphics 调用。要渲染格式化文本的图像,我可能会探索使用带有布局的 Swing 组件来进行绘画。这超出了本问答的范围,但如果您提出新问题,可以在此处链接。 如果我使用swing组件,那么在不同平台(如Andriod、Windows、Mac等)上会有任何行为变化【参考方案2】:

使用StringUtils类,它还包括空检查

StringUtils.leftPad(String str, int size)
StringUtils.rightPad(String str, int size)

【讨论】:

【参考方案3】:

如果您在代码中要添加空格的位置有可用的 EditText 实例,则下面的代码将起作用。可能有一些事情需要考虑,例如下面的代码可能会触发您设置为此 EditText 的任何 TextWatcher,idk 肯定只是说,但是当尝试像这样附加空格时这将起作用:“”,没有工作。

messageInputBox.dispatchKeyEvent(new KeyEvent(0, 0, 0, KeyEvent.KEYCODE_SPACE, 0, 0, 0, 0,
                        KeyEvent.KEYCODE_ENDCALL));

【讨论】:

【参考方案4】:
String text = "text";
text += new String(" ");

【讨论】:

如果您阅读了整个问题,您会看到:Note: " " is not the solution.【参考方案5】:

有几种方法:

    创建一个char数组然后使用Arrays.fill,最后转换为String 循环遍历每次添加一个空格 Use String.format

【讨论】:

以上是关于在 Java 中添加空格的主要内容,如果未能解决你的问题,请参考以下文章

在某些 Bash 自动完成选项的末尾添加空格,而不是在其他选项的末尾?

我怎样才能使它如此这个java程序将读取二进制文件的其余部分,而不是添加额外的空格?

为你的网页中添加一些空格

Markdown小技巧---添加空格

oracle怎么在数字列中添加空格

在 Typoscript 中添加空格字符