`
忧里修斯
  • 浏览: 436091 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

分段解析字符串,查找替换指定的字符

阅读更多

public class ReplaceUrl {

	static String  s = "<DIV style='FONT-SIZE: 12px; MARGIN: 0px auto; COLOR: #666; HEIGHT: auto; TEXT-ALIGN: center'><a style='COLOR: #666'  href='#'>Home page</a> - <a style='COLOR: #666'  href='#'>Add to Favorites</a> - <a style='COLOR: #666'  href='#'>Stock</a> - <a style='COLOR: #666'  href='#'>China Brand</a> - <a style='COLOR: #666'  href='#'>My Office</a> - <a style='COLOR: #666'  href='#'>About Us</a> - <a style='COLOR: #666'  href='#'>Contact Us</a> - <a style='COLOR: #666'  href='#'>Sitemap</a> - <a style='COLOR: #666' href='#'>Help</a><BR>Copyright Notice ? 2009 My Global-inventory.cc All rights reserved.</DIV>";
	
	static String resultString = "";//最后结果
	static String lastString = s;//剩余串
	static String url = "http://www.java001.cn/";
	
	/**
	 * 将传入字符串中的链接自动加上前缀
	 * @param s 要替换的串
	 * @return 替换后的串
	 */
	public static String convert(String s,String regx){
		
		while(lastString.indexOf("href='") != -1 || lastString.indexOf("href=\"") != -1){
			String bufferS = "";//临时变量
			String head = "";//前缀
			int pos = lastString.indexOf("href='");
			int pos2 = lastString.indexOf("href=\"");
			if(pos == -1 && pos2 != -1){
				pos = pos2;
			}
			int endpos = lastString.indexOf("</a>");
			head = lastString.substring(0,pos);
			bufferS = lastString.substring(pos,endpos+4);
			bufferS = bufferS.replaceAll("href='", "href='"+regx);
			if(pos == -1 && pos2 != -1){
				bufferS = bufferS.replaceAll("href=\"", "href=\""+regx);
			}
			resultString += head+bufferS;
			lastString = lastString.substring(endpos+4,lastString.length());
			
			//System.out.println("head:"+head);
			//System.out.println("bufferS:"+bufferS);
			//System.out.println("resultS:"+resultS);
			//System.out.println("bufferS2:"+bufferS2);
			//System.out.println("======================================================================");
		}
		return resultString;
		//System.out.println("resultS:"+resultString);
	}
}
分享到:
评论

相关推荐

    Word常用查找与替换实例及方法.doc

    - 不连续重复段落: 需要更复杂的查找替换逻辑,可能涉及正则表达式。 **实例11:删除连字符及其后面的相关内容** - **描述**: 删除带有连字符的单词及其后面的部分。 - **步骤**: - 查找所有以连字符(`-`)结尾的...

    最全PHP常用函数解析

    `ord()`返回字符的ASCII值,而`parse_str()`解析字符串变量,将URL参数转化为数组。`printf()`和`sprintf()`是格式化输出字符串的函数,与`fprintf()`类似,但后者是用于文件输出。 `quotemeta()`函数转义字符串中...

    基本计算器leetcode-Strings-3:字符串-3

    解析字符串时,通常会用到栈(stack)数据结构来处理运算符的优先级,遇到数字就压入栈中,遇到运算符则取出栈顶的两个数字进行运算,并将结果压回栈。处理括号时,需要先计算括号内的表达式,再进行外部的运算。...

    易语言歌词解析模块.zip易语言项目例子源码下载

    4. **字符串操作**:在处理歌词文本时,字符串操作是必不可少的,包括分割、查找、替换等。 5. **同步显示逻辑**:解析出的歌词需要与音乐播放进度同步,这涉及到对播放器API的调用和时间事件的监听。 6. **用户...

    跨平台线程,INI,字符处理

    字符处理涵盖了字符编码(如ASCII、Unicode的UTF-8、UTF-16等)、字符串操作(如拼接、查找、替换)和国际化(I18N)与本地化(L10N)。在多语言环境下,正确处理字符编码至关重要,避免乱码问题。C++标准库提供了`...

    STL源码解析,CSDN

    它提供了许多方便的字符串操作方法,如拼接、查找、替换等。 9. **sgi-stl-rope.doc**:`rope`是一个高级的字符串类,适用于大量文本操作。它使用分段树结构,能够高效地进行插入、删除和拷贝操作,尤其在大型字符...

    JAVA循环 练习题

    - **题目解析**:对字符串进行各种操作,如切割、合并、替换等。 - **实现思路**:使用Java提供的字符串操作方法,如split(), concat(), replace()等。 #### 41. 图形问题 - **题目解析**:解决与图形有关的问题,...

    JapanesePhoneNumberFormatter.rar_japanese

    - 字符串操作:如字符串分割、查找和替换,以确定号码的各个部分。 - 条件判断:检查号码长度,决定是否需要添加分隔符或括号。 - 编程逻辑:如何正确地组合各个部分以生成格式化的电话号码。 为了实现这样的...

    CCF-CSP认证历年真题

    - **字符串操作**:如何查找和替换字符串中的特定模式。 - **变量管理**:如何存储和管理变量及其值。 - **模板匹配**:理解模板的格式及替换规则。 **注意事项**: - 注意变量名的有效性检查。 - 确保输出格式正确...

    EXCEL辅助IP列说明

    1. **SUBSTITUTE函数:** 此函数用于替换文本字符串中的某个部分。其语法结构为: ``` SUBSTITUTE(text, old_text, new_text, [instance_num]) ``` - `text`: 需要被替换的部分所在的原始文本。 - `old_text`: ...

    考研浙江大学07真题

    - **字符串处理**: 字符串操作包括查找特定字符、替换字符、分割字符串等。 ### 示例解析 #### 例题1 **题目**:编写一个程序来模拟理发店场景,其中涉及到理发师和顾客之间的交互。 **解决方案**:可以使用信号...

    android文字高亮

    1. **正则表达式匹配**:可以使用Java的`Pattern`和`Matcher`类来查找并替换字符串中的特定模式。找到匹配项后,再使用`SpannableString`来设置样式。 ```java String text = "这是个示例,@用户名是高亮的"; ...

    php技巧php技巧

    10. **`str_replace`与`preg_replace`**:在字符串替换中,`str_replace`比`preg_replace`快,而`strtr`又比`str_replace`快约1/4。 11. **分段替换**:如果可能,将字符替换分解为多个单字符替换,以提高效率。 ...

    剑指offer题解(C++).docx

    2. **替换空格**:此题涉及到字符串处理,通过将字符串中的空格替换为"%20",学习如何遍历和修改字符串内容。 3. **从尾到头打印链表**:考察链表操作,可以通过反向遍历或者双指针法来实现。 4. **重建二叉树**:...

    freemarker总结

    defaultValue,第一种用法不给缺失的变量指定默认值,表明默认值是空字符串,长度为0的集合,或者长度为0的Map对象. 使用!指定默认值时,并不要求默认值的类型和变量类型相同.使用??运算符非常简单,它总是返回一个布尔值...

    中科大_2012年研究生考试大纲_834软件工程基础

    - 字符串的基本操作,如拼接、查找、替换等。 - 学习字符串匹配算法,如KMP算法。 **5. 数组、广义表与稀疏矩阵** - 掌握多维数组的表示与操作。 - 了解广义表的递归性质和稀疏矩阵的压缩存储技巧。 **6. 树与...

    CCF认证考试历年真题

    - **解析模板**:将模板内容存储为字符串列表。 - **变量替换**:遍历模板中的每一行,查找并替换特殊标记。 - **输出结果**:将替换后的模板输出。 - **实现细节**: - 读取模板的行数`m`和变量个数`n`。 - ...

    C#编程经验技巧宝典

    79 &lt;br&gt;0115 如何判断是否为数字 79 &lt;br&gt;0116 如何在字符串中查找指定字符 79 &lt;br&gt;0117 如何在字符串中用一子串替换另一子串 80 &lt;br&gt;0118 将新字符串添加到已有字符串中 80 &lt;br&gt;0119 如何在...

Global site tag (gtag.js) - Google Analytics