gpt4 book ai didi

java - 如何将一个字符串分割两次并自动创建一个表(有n个元素)?

转载 作者:太空宇宙 更新时间:2023-11-04 09:39:30 24 4
gpt4 key购买 nike

(这里绝对是初学者)我的目标是一个表,其中一行中分隔数组中的元素用逗号分隔,并在空格(“”)后添加一个新行。

新行必须在空格之后开始(这意味着我不能用点替换它)。我认为我最大的问题是我无法将“pretty 105”(注意空格)分开。它始终算作一个元素。

现在字符串只有 8 个元素,但您必须想象字符串非常长。

首先我想分割字符串(包括“pretty 105”)

在循环中,我试图让它在“pretty”之后“跳跃”,因为它应该在这里分割

public static void main(String[] args) {

String str = "104,Jeans,B&B,pretty 105,Shoes,Nike,nice";
List<String> Row = Arrays.asList(str.split(" "));
List<String> List = Arrays.asList(str.split(","));


StringBuilder buf = new StringBuilder();
buf.append("<html>" +
"<body>" +
"<table>" +
"<tr>" +
"<th>Number</th>" +
"<th>Name</th>" +
"<th>Maker</th>" +
"<th>Description</th>" +
"</tr>");

for (int j = 0; j < Row.size(); j++) {

int i = j*4;

for (; i < List.size(); i++) {

if (i<1+i) {
buf.append("<tr><td>")
.append(List.get(i))
.append("</td>");
}
else if (i>=1+i) {
buf.append("<td>")
.append(List.get(i))
.append("</td>");
}
else if (i>3+i) {
buf.append("<td>")
.append(List.get(i))
.append("</td></tr>");
break;
}
}
}



buf.append("</table>" +
"</body>" +
"</html>");
String html = buf.toString();
System.out.println(buf);}

在此示例中,预期结果是:

编号 名称 制作者 描述

104,牛仔裤,民宿,漂亮
105,鞋子,耐克,不错

但在上面的示例中,每个人都有自己的行 - 除了“pretty 105”:

104

牛仔裤

民宿

漂亮105

。。.

最佳答案

这就是你想要的吗?

public class Main {
public static void main(String[] args) {
String str = "104,Jeans,B&B,pretty 105,Shoes,Nike,nice";
final String join = String.join("\n", str.split(" "));
System.out.println(join);
}
}

编辑:

public static void main(String[] args) {

String str = "104,Jeans,B&B,pretty 105,Shoes,Nike,nice";
final String[] lines = str.split(" ");

StringBuilder buf = new StringBuilder();
buf.append("<html>" + "<body>" + "<table>" + "<tr>" + "<th>Number</th>" + "<th>Name</th>" + "<th>Maker</th>" + "<th>Description</th>" + "</tr>");

for (String line : lines) {
buf.append("<tr><td>")
.append(line)
.append("</td><td>");
}
buf.append("</table>" + "</body>" + "</html>");
System.out.println(buf);
}

关于java - 如何将一个字符串分割两次并自动创建一个表(有n个元素)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56136933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com