每次每行达到一定长度时,使用正则表达式向字符串添加新行

时间:2015-01-08 15:05:28

标签: java regex string

我正在尝试确保文本不会出现在窗口之外,因为窗口大小无法更改。

上图显示了订单号字符串超过窗口长度时会发生什么。我试图确保当订单号字符串的长度达到一定长度时,我使用正则表达式为下一个订单创建一个新行。

private String listOfOrders( Map<String, List<Integer> > map, String key )
  {
    String res = "";
    if ( map.containsKey( key ))
    {
      List<Integer> orders = map.get(key);
      for ( Integer i : orders )
      {
          res += " " + i + ",";
      }
    } else {
      res = "-No key-";
    }
    return res;
  }
}

这是显示文本的代码,它通过形成字符串res并使用数组列表中的订单号填充它。

通过研究,我发现了一段很酷的代码,它将每个字符串替换为字符串,加上一个新行。

    if(res.length() >= W-10)
    {
        res = res.replaceAll("(.{20})", "$1\n");
    }
    else
    {
        res += " " + i + ",";
    }

但这根本没有效果。而且我也意识到这段代码无法判断每条线的长度,因为我使用长度来确定每条线的长度,而不是每条线在每个“\ n”之间的长度。

我的问题是,如何使用正则表达式来确保字符串中的每一行都是一定数量的字符?因为我的尝试不起作用。上面只是提供了为什么我希望字符串中的行成为某个legnth的上下文。

谢谢!

0 个答案:

没有答案