【问题标题】:Split a string in a list of padded strings?在填充字符串列表中拆分字符串?
【发布时间】:2016-04-19 15:41:41
【问题描述】:

我想在某个结束边距上填充一个字符串,并且我希望每个填充都是列表中的一个字符串。

我尝试了什么:

ArrayList<String> lines = new ArrayList<>();
for (String splits : Splitter.fixedLength(32).split(tip)) lines.add(splits);
for (String line : lines) // stuff here per line

这里的问题是它削减了单词:

单词操作被截断,我希望它跳转到下一行。

假设我有这个字符串:

字符串示例 = "Lorem ipsum dolor sit amet, nam aliquid deleniti officiis eu."

因此,在通过某个函数运行该字符串后,它会返回一个包含以下内容的列表:

lorem ipsum dolor
sit amet, nam
aliquid deleniti
officiis eu.

注意,我不会拆分每个第 n 个字符!这是用番石榴的拆分器完成的。我想将所有内容都填充到某个末端边距,并将所有填充物放入字符串列表中。

Guava 有一个 Strings.something 可以执行此操作但不返回列表

如何将焊盘拆分为列表?我正在考虑使用番石榴的 Strings.something 方法来做垫,然后将该字符串拆分为每个 \n 或其他东西。

【问题讨论】:

  • 您可能对 SO 还太陌生,不知道这里的人们喜欢看到人们要求解决问题的努力。到目前为止,您尝试过什么?
  • 从您当前的位置c,向前移动n 个字符。向后移动,直到找到空格(或分词或其他)。打印c 和当前位置之间的子字符串。重复。
  • @AntonioRagagnin 更新帖子
  • 您可能还想read this page。
  • 查看this查看第二个答案并查看apache commons Word util's warp mathod

标签: java string


【解决方案1】:

解决了:

public static ArrayList<String> padString(String string, int stringSize) {
    ArrayList<String> lines = new ArrayList<>();
    for (String line : WordUtils.wrap(string, stringSize).split("\n")) lines.add(line.trim());
    return lines;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 2015-09-01
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多