在 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 自动完成选项的末尾添加空格,而不是在其他选项的末尾?