Java 如何将字符串拆分两次并自动创建一个表(包含n个元素)?
(这里绝对是初学者) 我的目标是创建一个表,其中一行中的分隔数组中的元素用逗号分隔,新行用空格(“”)分隔 一个新行必须在空格后开始(这意味着我不能用一个点来替换它)。 我想我最大的问题是我不能把“漂亮105”(注意空格)分开。它总是算作一个元素 现在这个字符串只有8个元素,但是你必须想象这个字符串非常长 首先我想拆分字符串(包括“pretty 105”) 在循环中,我试图让它在“pretty”之后跳转,因为它应该在这里分裂Java 如何将字符串拆分两次并自动创建一个表(包含n个元素)?,java,loops,split,Java,Loops,Split,(这里绝对是初学者) 我的目标是创建一个表,其中一行中的分隔数组中的元素用逗号分隔,新行用空格(“”)分隔 一个新行必须在空格后开始(这意味着我不能用一个点来替换它)。 我想我最大的问题是我不能把“漂亮105”(注意空格)分开。它总是算作一个元素 现在这个字符串只有8个元素,但是你必须想象这个字符串非常长 首先我想拆分字符串(包括“pretty 105”) 在循环中,我试图让它在“pretty”之后跳转,因为它应该在这里分裂 public static void main(String[] ar
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);}
publicstaticvoidmain(字符串[]args){
String str=“104,牛仔裤,B&B,漂亮105,鞋子,耐克,尼斯”;
列表行=Arrays.asList(str.split(“”);
List=Arrays.asList(str.split(“,”);
StringBuilder buf=新的StringBuilder();
buf.追加(“”)+
"" +
"" +
"" +
“数字”+
“姓名”+
“制造者”+
“说明”+
"");
对于(int j=0;j3+i){
buf.追加(“”)
.append(List.get(i))
.附加(“”);
打破
}
}
}
buf.追加(“”)+
"" +
"");
字符串html=buf.toString();
System.out.println(buf);}
在本例中,预期结果为:
编号名称制造商说明
104,牛仔裤,B&B,漂亮105,鞋子,耐克,不错 但在上面的例子中,除了“美丽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);
}
}
编辑:
publicstaticvoidmain(字符串[]args){
String str=“104,牛仔裤,B&B,漂亮105,鞋子,耐克,尼斯”;
最终字符串[]行=str.split(“”);
StringBuilder buf=新的StringBuilder();
追加(“+”+“+”+“+”数字“+”名称“+”制造商“+”说明“+”);
用于(字符串行:行){
buf.追加(“”)
.append(行)
.附加(“”);
}
追加(“+”+”);
系统输出打印项次(buf);
}
这就是你想要的吗
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);
}
}
编辑:
publicstaticvoidmain(字符串[]args){
String str=“104,牛仔裤,B&B,漂亮105,鞋子,耐克,尼斯”;
最终字符串[]行=str.split(“”);
StringBuilder buf=新的StringBuilder();
追加(“+”+“+”+“+”数字“+”名称“+”制造商“+”说明“+”);
用于(字符串行:行){
buf.追加(“”)
.append(行)
.附加(“”);
}
追加(“+”+”);
系统输出打印项次(buf);
}
这看起来更像Java而不是Javascript。@apsillers你说得对。。。StringBuilder欺骗了我,让我认为这是C#这看起来更像Java而不是Javascript。@apsillers你说得对。。。StringBuilder欺骗了我,让我觉得这几乎是C#。但还有一件事:它必须在那张桌子上。你能告诉我怎么把你的线和我的桌子结合起来吗(这个循环无关紧要)?我真的不懂桌子的东西。你能加上预期的产量吗?如果它是一个文件,请输入预期的内容。我想回答你的问题,但我不知道注释格式是如何工作的,所以你必须想象一下——表格的名称是“buf”,我已经准备好标题(编号、名称…),下面是相应的内容。从我的代码中可以看出,我希望将新来的数据(从字符串)附加到表中。它将是HTML格式。请查看已编辑的解决方案,如果答案对您有帮助,请不要忘记接受它。非常好。但还有一件事:它必须在那张桌子上。你能告诉我怎么把你的线和我的桌子结合起来吗(这个循环无关紧要)?我真的不懂桌子的东西。你能加上预期的产量吗?如果它是一个文件,请输入预期的内容。我想回答你的问题,但我不知道注释格式是如何工作的,所以你必须想象一下——表格的名称是“buf”,我已经准备好标题(编号、名称…),下面是相应的内容。从我的代码中可以看出,我希望将新来的数据(从字符串)附加到表中。它将是HTML格式。请查看已编辑的解决方案,如果答案对您有帮助,请不要忘记接受它。