`

替换table为指定字符串

J# 
阅读更多
	public static void main(String[] args) {
		String content = "ddddddddddd<TABLE cellSpacing=1 cellPadding=0 width='100%' border=0><TBODY><TR><TD bgColor=#ffffff>" +
							"<TABLE cellSpacing=1 cellPadding=2 width='100%' bgColor=#e8e8e8 border=0><TBODY><TR bgColor=#ffffff><TD>&nbsp;" +
							"<TABLE cellSpacing=1 cellPadding=0 width='100%' border=0><TBODY><TR><TD bgColor=#ffffff>" +
							"<TABLE cellSpacing=1 cellPadding=2 width='100%' bgColor=#e8e8e8 border=0><TBODY><TR bgColor=#ffffff><TD>&nbsp;</TD><TD>&nbsp;</TD>" +
							"<TD>&nbsp;</TD><TD>&nbsp;</TD></TR><TR bgColor=#ffffff><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>ss&nbsp;</TD><TD>&nbsp;ss</TD></TR>" +
							"<TR bgColor=#ffffff><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR></TBODY>" +
							"</TABLE></TD></TR></TBODY></TABLE></TD><TD>&nbsp;ss</TD><TD>&nbsp;ss</TD><TD>&nbsp;ss</TD></TR><TR bgColor=#ffffff><TD>&nbsp;ss</TD><TD>&nbsp;" +
							"<TABLE cellSpacing=1 cellPadding=0 width='100%' border=0><TBODY><TR><TD bgColor=#ffffff>" +
							"<TABLE cellSpacing=1 cellPadding=2 width='100%' bgColor=#e8e8e8 border=0><TBODY><TR bgColor=#ffffff><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>" +
							"<TR bgColor=#ffffff><TD>&nbsp;ss</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;ss</TD></TR>" +
							"<TR bgColor=#ffffff><TD>&nbsp;</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD><TD>&nbsp;ss</TD><TD>&nbsp;</TD></TR><TR bgColor=#ffffff>" +
							"<TD>&nbsp;ss</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><P>ssssssssssssssssssssssssss</P>" +
							"<P>sssssssssssssssssssssssssssssssss</P><P>" +
							"<TABLE cellSpacing=1 cellPadding=0 width='100%' border=0><TBODY><TR><TD bgColor=#ffffff>" +
							"<TABLE cellSpacing=1 cellPadding=2 width='100%' bgColor=#e8e8e8 border=0><TBODY><TR bgColor=#ffffff><TD>&nbsp;</TD><TD>&nbsp;</TD>" +
							"<TD>&nbsp;</TD></TR></TBODY></TABLE>sssssssssssssssssssssssssssssssssssssssssss</TD></TR></TBODY></TABLE></P>"+ 
							"ddddddddddd<TABLE cellSpacing=1 cellPadding=0 width='100%' border=0><TBODY><TR><TD bgColor=#ffffff>" +
							"<TABLE cellSpacing=1 cellPadding=2 width='100%' bgColor=#e8e8e8 border=0><TBODY><TR bgColor=#ffffff><TD>&nbsp;" +
							"<TABLE cellSpacing=1 cellPadding=0 width='100%' border=0><TBODY><TR><TD bgColor=#ffffff>" +
							"<TABLE cellSpacing=1 cellPadding=2 width='100%' bgColor=#e8e8e8 border=0><TBODY><TR bgColor=#ffffff><TD>&nbsp;</TD><TD>&nbsp;</TD>" +
							"<TD>&nbsp;</TD><TD>&nbsp;</TD></TR><TR bgColor=#ffffff><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>ss&nbsp;</TD><TD>&nbsp;ss</TD></TR>" +
							"<TR bgColor=#ffffff><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR></TBODY>" +
							"</TABLE></TD></TR></TBODY></TABLE></TD><TD>&nbsp;ss</TD><TD>&nbsp;ss</TD><TD>&nbsp;ss</TD></TR><TR bgColor=#ffffff><TD>&nbsp;ss</TD><TD>&nbsp;" +
							"<TABLE cellSpacing=1 cellPadding=0 width='100%' border=0><TBODY><TR><TD bgColor=#ffffff>" +
							"<TABLE cellSpacing=1 cellPadding=2 width='100%' bgColor=#e8e8e8 border=0><TBODY><TR bgColor=#ffffff><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>" +
							"<TR bgColor=#ffffff><TD>&nbsp;ss</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;ss</TD></TR>" +
							"<TR bgColor=#ffffff><TD>&nbsp;</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD><TD>&nbsp;ss</TD><TD>&nbsp;</TD></TR><TR bgColor=#ffffff>" +
							"<TD>&nbsp;ss</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><P>ssssssssssssssssssssssssss</P>" +
							"<P>sssssssssssssssssssssssssssssssss</P><P>" +
							"<TABLE cellSpacing=1 cellPadding=0 width='100%' border=0><TBODY><TR><TD bgColor=#ffffff>" +
							"<TABLE cellSpacing=1 cellPadding=2 width='100%' bgColor=#e8e8e8 border=0><TBODY><TR bgColor=#ffffff><TD>&nbsp;</TD><TD>&nbsp;</TD>" +
							"<TD>&nbsp;</TD></TR></TBODY></TABLE>sssssssssssssssssssssssssssssssssssssssssss</TD></TR></TBODY></TABLE></P>";
		if (content.contains("<TABLE") && content.contains("</TABLE>")) {
			String cc = content;
			content = content.substring(content.indexOf("<TABLE"), content.lastIndexOf("</TABLE>") + 8);
			String[] str = content.split("</TABLE>");		
			List list = new ArrayList();
			int i = 0 ;
			for (int j = 0; j < str.length; j++) {
				System.out.println(str[j]);
			}
			copeTableContent(str, i, list);
			for (int m = 0; m < list.size(); m++) {
				System.out.println("--" + list.get(m));
				content = content.replaceFirst((String)list.get(m), "<TABLE ID=" + String.valueOf(m+1) + ">");
			}
			System.out.println(content);
		}
	}
	/**
	 * 计算最外层table的内容行。
	 * @param str
	 * @param i
	 * @return
	 */
	public static int copeTableNum(String[] str, int i) {
		int num = haveNumber(str[i], 0);
		int j = i + 1;
		while (j < (i + num)) {
			num +=haveNumber(str[j], 0);
			j++;
		}
		return i + num;
	}
	/**
	 * 组合table放入List集合中
	 * @param str
	 * @param i
	 * @param list
	 */
	public static void copeTableContent(String[] str, int i, List list) {
		if (i < str.length) {
			int num = copeTableNum(str, i);
			if (num <= str.length) {
				String tem = "";
				for (int k = i; k < num; k++) {
					tem += str[k];
					tem += "</TABLE>";
				}
				tem = tem.substring(tem.indexOf("<TABLE"));
				list.add(tem);
				copeTableContent(str, num, list);
			}
		}
	}
	/**
	 * 计算 "<TABLE"标签的个数
	 * @param str
	 * @param i
	 * @return
	 */
	public static int haveNumber(String str, int i) {
		if (str.contains("<TABLE")) {
			str = str.replaceFirst("<TABLE", "");
			i++;
			i = haveNumber(str, i);
		}
		return i;
	}
分享到:
评论

相关推荐

    ABAP常用字符串操作

    - `[SEPARATED BY sep]` 可选参数,用于指定连接字符串之间的分隔符。 **示例**: ```abap DATA str1 TYPE string VALUE 'Hello'. DATA str2 TYPE string VALUE 'World'. DATA str3 TYPE string. CONCATENATE str1...

    学学Python_字符串04_字符串方法02

    接下来,`strip()` 方法用于移除字符串两侧的指定字符,默认是移除空白字符(包括空格、制表符和换行符)。这个方法对于清理用户输入或格式化文本非常有用。例如: ```python s = " Hello, World! " cleaned_s = s....

    Oracle字符串处理函数

    参数包括:原始字符串、要替换的子串以及替换后的子串。例如: ``` SQL&gt; select replace('hello you', 'he', 'i') from dual; REPLACE(H ---------- iello you ``` 这里将`hello you`中的`he`替换为了`i`。 ####...

    mysql查询字符串替换语句小结(数据库字符串替换)

    将ubk_vhost_list表中的字段userid中的字符...表的名字 field_name —— 字段名 from_str —— 需要替换的字符串 to_str —— 替换成的字符串 今天运行了一个查询 UPDATE ubk_vhost_list SET userid = replace (use

    数据库字符串处理 很不错

    - `STUFF()`: 用新文本替换字符串中指定位置的文本。 - `INSERT()`: 向表中插入新的记录。 #### 三、案例分析:字符串分割函数 本案例中给出的 SQL 函数 `dbo.Split()` 是一个典型的字符串分割函数,它接收一个字符...

    sql字符串处理函数

    STUFF()函数可以在字符串中替换指定位置的字符,并插入新字符。 ```sql SELECT STUFF('Hello World', 7, 5, 'SQL Server'); -- 返回'Hello SQL Server' ``` 这里的`7`是指替换起始位置,`5`是指替换长度,`'SQL ...

    greenplum常用命令

    指定字符串在字符串中的起始位置:`position` `position` 函数返回子字符串在主字符串中的起始位置。 ```sql SELECT position('as' in 'dadassa'); -- 返回 4 ``` ### 日期时间函数 #### 1. 计算两个日期之间的...

    第4章 python字符串.pptx

    9. `str.center(n)`:在字符串两侧填充指定字符(默认为空格),使字符串居中,总长度为`n`。 10. `str.ljust(n)`:将字符串左对齐并用指定字符填充至长度`n`。 11. `str.rjust(n)`:将字符串右对齐并用指定字符填充...

    mysql替换表中的字符串的sql语句

    核心的SQL语句是`REPLACE()`函数,它用于在字符串中查找指定的子串并将其替换为新的子串。其基本语法如下: ```sql UPDATE table_name SET column_name = REPLACE(column_name, 'original_string', 'replacement_...

    Oracle截取字符串去掉字段末尾指定长度的字符

    SELECT REPLACE(字段名, '指定字符', '替换字符') FROM 表名; -- 示例: SELECT REPLACE('de.5d', '.', '') FROM dual; ``` 这将返回一个新的字符串`'de5d'`,原字符串中的所有句点"."都被空字符串替换,即被移除...

    MySQL替换函数replace()替换指定字段中的所有字符子串为其他字符串

    - `'to_str'`:这是你要将`from_str`替换为的新字符串。 - `WHERE `field_name` LIKE '%from_str%'`:这部分用于指定只有当`field_name`字段值中包含`from_str`时,才会执行替换操作。`LIKE`关键字与通配符`%`一起...

    python字符串的方法及注释.doc

    24. `replace(old, new[, count])`:替换字符串中`old`子字符串为`new`,可选的`count`参数限制替换次数。 25. `rfind(sub[, start[, end]])`:从右侧开始查找子字符串`sub`,返回其出现的最左侧索引,未找到则返回...

    asp连接mysql字符串

    在本篇文章中,我们将深入探讨如何使用ASP与MySQL数据库通过ODBC 3.51进行连接,特别是关于连接字符串的构建及其各个组成部分的含义。这不仅适用于初学者,也适用于那些希望深入了解这一过程的技术人员。 ### ASP...

    php常用函数列表 涉及很多好用的字符串函数

    20. **str_split($string, $split_length)**: 把字符串分割为指定长度的字符数组。 21. **str_shuffle($string)**: 随机打乱字符串中的字符顺序。 22. **str_ireplace($search, $replace, $subject, &$count)**: ...

    查找mysql字段中固定字符串并替换的几个方法

    这条SQL语句的作用是将指定表格中address字段内的“中国”字符串替换为空字符串,即删除这些字符。这是一个非常简单且常用的操作,可以适用于任何需要从文本中删除特定字符的场景。 其次,如果需要根据地址字段的...

    python第3章答案-【Python基础教程】第3章字符串.pdf

    在Python编程语言中,字符串是数据类型之一,用于存储文本信息...在Python的字符串世界里,还有更多高级特性和方法等待探索,如正则表达式、模板字符串以及f-string等,它们为处理文本数据提供了更多的灵活性和便利性。

    oralce字符函数

    12. REPLACE函数:REPLACE函数将字符串中的所有s1子串替换为s2。如REPLACE('he love you', 'he', 'i')返回'i love you','he'被替换为'i'。 13. SOUNDEX函数:SOUNDEX函数返回与给定字符串发音相似的字符串,常用于...

    Oracle 函数大全[字符串函数,数学函数,日期函数]

    - **功能**:替换字符串中的指定字符或子字符串。 - **语法**: - `REPLACE(str_expr, find_str, replace_str)` - **示例**: - `SELECT REPLACE('helloyou', 'he', 'i') FROM DUAL;` - 输出结果: - Replace('H...

    Mysql中实现提取字符串中的数字的自定义函数分享

    1. 当输入字符串为"dfdfd666"时: ```sql SELECT GetNum('dfdfd666'); ``` 结果返回:666 2. 当输入字符串包含非连贯的数字,如"dfdd111fd666": ```sql SELECT GetNum('dfdd111fd666'); ``` 结果返回:111666 这...

Global site tag (gtag.js) - Google Analytics