有一堆字符串如下:
想要输出如下的结果:
应用到的是String相关的方法:
public static void main(String args[]) {
int count = 0;
String s = "<html><body><table>"
+ "<tr><td>张三</td><td>男</td><td>18</td></tr>"
+ "<tr><td>李四</td><td>女</td><td>19</td></tr>"
+ "<tr><td>王五</td><td>男</td><td>21</td></tr>"
+ "</table></body></html>";
/* 取子串只留中间三行 */
String s1 = s.substring(s.indexOf("<table>") + 7, s.indexOf("</table>"));
// 从<table>首次出现的位置加7,即<table>的后面的第一个字母的位置开始到</table>首次出现的位置下标
String spilt1[] = s1.split("<tr><td>");// 以<tr>为分离符号分离成字符串数组①
for (String val : spilt1) {
if (val.length() > 0) {
val = val.substring(0, val.indexOf("</td></tr>"));//②
String split2[] = val.split("</td><td>");//③
for (String val2 : split2) {
count++;
System.out.print(val2 + " ");
if (count % 3 == 0 && count != 0) {//s④
System.out.println();
}
}
}
}
}
①处得到的字符串数组为:

可以看到第一行为空行,所以进行判断,当不为空行时继续进行
②处接着取字符串,从下标为0到那个字符串之前
得到:
③将得到的字符串数组以为分隔符号进行分割:
④处进行输出格式控制,最终结果为