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);
}
}
分享到:
相关推荐
- 不连续重复段落: 需要更复杂的查找替换逻辑,可能涉及正则表达式。 **实例11:删除连字符及其后面的相关内容** - **描述**: 删除带有连字符的单词及其后面的部分。 - **步骤**: - 查找所有以连字符(`-`)结尾的...
`ord()`返回字符的ASCII值,而`parse_str()`解析字符串变量,将URL参数转化为数组。`printf()`和`sprintf()`是格式化输出字符串的函数,与`fprintf()`类似,但后者是用于文件输出。 `quotemeta()`函数转义字符串中...
解析字符串时,通常会用到栈(stack)数据结构来处理运算符的优先级,遇到数字就压入栈中,遇到运算符则取出栈顶的两个数字进行运算,并将结果压回栈。处理括号时,需要先计算括号内的表达式,再进行外部的运算。...
4. **字符串操作**:在处理歌词文本时,字符串操作是必不可少的,包括分割、查找、替换等。 5. **同步显示逻辑**:解析出的歌词需要与音乐播放进度同步,这涉及到对播放器API的调用和时间事件的监听。 6. **用户...
字符处理涵盖了字符编码(如ASCII、Unicode的UTF-8、UTF-16等)、字符串操作(如拼接、查找、替换)和国际化(I18N)与本地化(L10N)。在多语言环境下,正确处理字符编码至关重要,避免乱码问题。C++标准库提供了`...
它提供了许多方便的字符串操作方法,如拼接、查找、替换等。 9. **sgi-stl-rope.doc**:`rope`是一个高级的字符串类,适用于大量文本操作。它使用分段树结构,能够高效地进行插入、删除和拷贝操作,尤其在大型字符...
- **题目解析**:对字符串进行各种操作,如切割、合并、替换等。 - **实现思路**:使用Java提供的字符串操作方法,如split(), concat(), replace()等。 #### 41. 图形问题 - **题目解析**:解决与图形有关的问题,...
- 字符串操作:如字符串分割、查找和替换,以确定号码的各个部分。 - 条件判断:检查号码长度,决定是否需要添加分隔符或括号。 - 编程逻辑:如何正确地组合各个部分以生成格式化的电话号码。 为了实现这样的...
- **字符串操作**:如何查找和替换字符串中的特定模式。 - **变量管理**:如何存储和管理变量及其值。 - **模板匹配**:理解模板的格式及替换规则。 **注意事项**: - 注意变量名的有效性检查。 - 确保输出格式正确...
1. **SUBSTITUTE函数:** 此函数用于替换文本字符串中的某个部分。其语法结构为: ``` SUBSTITUTE(text, old_text, new_text, [instance_num]) ``` - `text`: 需要被替换的部分所在的原始文本。 - `old_text`: ...
- **字符串处理**: 字符串操作包括查找特定字符、替换字符、分割字符串等。 ### 示例解析 #### 例题1 **题目**:编写一个程序来模拟理发店场景,其中涉及到理发师和顾客之间的交互。 **解决方案**:可以使用信号...
1. **正则表达式匹配**:可以使用Java的`Pattern`和`Matcher`类来查找并替换字符串中的特定模式。找到匹配项后,再使用`SpannableString`来设置样式。 ```java String text = "这是个示例,@用户名是高亮的"; ...
10. **`str_replace`与`preg_replace`**:在字符串替换中,`str_replace`比`preg_replace`快,而`strtr`又比`str_replace`快约1/4。 11. **分段替换**:如果可能,将字符替换分解为多个单字符替换,以提高效率。 ...
2. **替换空格**:此题涉及到字符串处理,通过将字符串中的空格替换为"%20",学习如何遍历和修改字符串内容。 3. **从尾到头打印链表**:考察链表操作,可以通过反向遍历或者双指针法来实现。 4. **重建二叉树**:...
defaultValue,第一种用法不给缺失的变量指定默认值,表明默认值是空字符串,长度为0的集合,或者长度为0的Map对象. 使用!指定默认值时,并不要求默认值的类型和变量类型相同.使用??运算符非常简单,它总是返回一个布尔值...
- 字符串的基本操作,如拼接、查找、替换等。 - 学习字符串匹配算法,如KMP算法。 **5. 数组、广义表与稀疏矩阵** - 掌握多维数组的表示与操作。 - 了解广义表的递归性质和稀疏矩阵的压缩存储技巧。 **6. 树与...
- **解析模板**:将模板内容存储为字符串列表。 - **变量替换**:遍历模板中的每一行,查找并替换特殊标记。 - **输出结果**:将替换后的模板输出。 - **实现细节**: - 读取模板的行数`m`和变量个数`n`。 - ...
79 <br>0115 如何判断是否为数字 79 <br>0116 如何在字符串中查找指定字符 79 <br>0117 如何在字符串中用一子串替换另一子串 80 <br>0118 将新字符串添加到已有字符串中 80 <br>0119 如何在...