最近在处理一些字符串的替换中发生的一些问题。
最近需要临时实现一个再FCK中替换一些字符串的工作。
因此首先想到的的一个方法就是replaceAll();方法。这个简单也很实在。
故第一次实现的伪代码段位:
int index = description.indexOf("XXXX");
if(index != -1){
description = description.replaceAll("XXXX","BBBB");
}
//....将Description更新。
这段代码测试的时候,没有问题。但是杯具还是发生了。因为replaceAll属于regex的替换。在替换的时候如果碰到一些特殊字符就会出现Exception。 比如"<!--adsafads -->","*"。。。
没办法哥只能想其他的办法,接着就使用了java的subString来进行处理
第二次实现的伪代码为:
String result="";
String replaceDesc="DDDD";
do{
index = description.indexOf("XXXX");
if(index !=-1){
result= description.substring(0,index);
result= result+replaceDesc;
result= result+description.substring(index+desc.length());
description = result;
}
}while(index !=-1);
哥想这下应该能够解决了吧!将特殊的一些字符串测试了下。通过了。
但是问题又出现了,由于用户是在Windows系统下进行操作的,而服务器为Liunx。那么在一些特殊的换行或者其他的时候,就会发现系统之前的一些却别比如:换行\r 和\r\n的区别。
因此如果在使用对FCK中的HTML中的默些字符串进行匹配替换或者删除的时候,使用indexOf()并不是最好的选择,尤其是主要使用者的系统和服务器的系统的一些区别!! 同时也可以参考htmlParser来进行对FCK中的HTML处理。
分享到:
相关推荐
例如,如果你有一个包含特殊字符的字符串,可以使用`REPLACE()`来替换这些特殊字符。`QUOTENAME()`函数用于确保对象名符合SQL Server的标识符规则,尤其是在对象名包含特殊字符或保留关键字时。 总结起来,理解并...
最小编辑距离计算的是将一个字符串转换为另一个字符串所需的最少单字符编辑操作次数,包括插入(添加字符)、删除(移除字符)和替换(将一个字符替换为另一个字符)这三种操作。例如,将字符串"Kitten"转换为" ...
它支持正则表达式搜索,这在处理复杂字符串匹配或替换时非常实用。而且,它的多文档界面允许你同时编辑多个文件,这对于处理多个源文件的项目尤为方便。 对于版本控制,EditPlus集成了Git和其他版本控制系统,可以...
4. **性能优化**:手册提供了一些性能调优的建议,比如避免频繁创建对象,使用StringBuilder代替String进行字符串拼接,使用高效的数据结构如ArrayList和HashMap。此外,还强调了避免过度设计,优先考虑简单、可读的...
在Java编程中,对文件进行操作是一项基础且重要的技能,特别是在处理大量数据或日志记录时。本文将深入解析如何利用Java来创建TXT文件,并对其执行读取、写入及修改操作。 #### 创建TXT文件 在Java中创建TXT文件...
《Java设计模式(第2版)》是一本深入探讨Java编程中设计模式的权威书籍,中文版的出现使得更多的国内开发者能够无障碍地学习这门重要的技术。...因此,《Java设计模式(第2版)》是一本值得所有Java开发者深入研究的书籍。
1. **全文搜索**:能够搜索整个代码库或特定目录下的所有字符串,包括源代码、注释、字符串常量等。 2. **过滤和筛选**:允许用户输入特定的字符串,只显示与之匹配的结果。 3. **文件和行定位**:显示每个匹配项...
此外,关于Java字符串处理,还有一些其他值得注意的知识点: 1. **常量字符串**:在Java中,所有的字符串都是对象,且字符串常量都存储在字符串池中,这是为了节省内存。例如,`String s1 = "Hello"; String s2 = ...
正则表达式是一种强大的文本处理工具,可以用来匹配、查找、替换符合特定模式的字符串。对于邮箱地址的验证,我们需要一个能够匹配大多数常见邮箱格式的正则表达式。 例如,一个简单的邮箱地址验证正则表达式可能是...
1. **颜色编码**:TextPad支持Java语法的颜色编码,关键字、注释、字符串、常量、变量等元素都有各自独特的颜色标识,使得代码在视觉上层次分明,帮助开发者更快地理解和定位代码。 2. **自动完成**:TextPad具有...
- **字符串**:熟悉String类的功能,比如字符串拼接、分割、替换等操作。 - **集合框架**:学习List、Set和Map三种主要的数据集合,以及它们之间的区别。 4. **面向对象编程**: - **类与对象**:理解类与对象的...
总的来说,这份“Java学习笔记及设计模式”资源是Java初学者和进阶者的宝贵财富,它不仅涵盖了语言的核心概念,还提供了实际问题的解决方案,有助于提升开发者的专业素养和解决问题的能力。无论是准备面试,还是提升...
每次迭代时,将当前字符串中的每个字符替换为对应的规则,同时记录下每次替换后的位置变化。这个过程会生成一系列的线段,随着迭代次数的增加,这些线段组合起来就形成了越来越复杂的曲线。当迭代次数足够大时,就会...
- 使用UTF-8编码格式,避免字符集问题。 - 类名使用驼峰命名法,如`UserName`,常量全大写,如`USER_NAME`,变量名首字母小写,如`userName`。 - 注释清晰简洁,用英文注释,对代码功能、目的进行解释。 2. **...
- **计算请求耗时**:记录请求开始和结束的时间,计算出请求的总耗时。 - **动态添加公共请求头**:例如添加认证令牌或跟踪ID等。 - **返回错误的统一处理**:对于失败的响应,可以统一处理错误信息,避免在每个请求...
它是一个半 ORM(对象关系映射)框架,其主要功能是将 Java 对象映射到数据库记录,同时允许开发者直接编写 SQL 语句,以实现高度灵活的数据查询和操作。MyBatis 通过 XML 配置文件或注解方式来定义 SQL 语句,从而...
7. **编码支持**:Notepad2支持多种字符编码,如ASCII、Unicode、UTF-8等,确保在处理不同编码的文件时不会出现乱码问题。 8. **轻量级**:Notepad2体积小巧,占用资源少,启动速度快,即使在较旧的计算机上也能...
根据提供的文件信息,我们可以推断出这是一本关于Java与设计...综上所述,《Java与模式》这本书覆盖了Java语言的基础知识以及各种常用的设计模式,并结合实战案例进行深入浅出的讲解,是一本值得深入学习的经典之作。
5. **字符串操作**:Jodd提供了强大的字符串工具类,包含各种常用的字符串处理方法,如替换、分割、格式化等,这些方法在日常开发中非常实用。 6. **反射和枚举操作**:Jodd的反射工具可以帮助开发者在运行时检查和...
值得注意的是,虽然文档标题和描述中提及了“Java中Zabbix”,但实际上提供的内容并未直接涉及Java编程语言或Zabbix的具体实现,而是更多地聚焦于iftop这一网络流量监控工具的使用。因此,本文将基于这一前提,对...