从String类型的Html的字符串集中得到想要的数据

有一堆字符串如下:


想要输出如下的结果:


应用到的是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到那个字符串之前

得到:


③将得到的字符串数组以为分隔符号进行分割:


④处进行输出格式控制,最终结果为





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值