我正在尝试确保文本不会出现在窗口之外,因为窗口大小无法更改。
上图显示了订单号字符串超过窗口长度时会发生什么。我试图确保当订单号字符串的长度达到一定长度时,我使用正则表达式为下一个订单创建一个新行。
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的上下文。
谢谢!