`
jiangduxi
  • 浏览: 453235 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java 字符替换的一些问题值得记录下

 
阅读更多
   最近在处理一些字符串的替换中发生的一些问题。
最近需要临时实现一个再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处理。
分享到:
评论

相关推荐

    SQL Server查询中的特殊字符处理

    例如,如果你有一个包含特殊字符的字符串,可以使用`REPLACE()`来替换这些特殊字符。`QUOTENAME()`函数用于确保对象名符合SQL Server的标识符规则,尤其是在对象名包含特殊字符或保留关键字时。 总结起来,理解并...

    最小编辑距离(字符串相似度)java版

    最小编辑距离计算的是将一个字符串转换为另一个字符串所需的最少单字符编辑操作次数,包括插入(添加字符)、删除(移除字符)和替换(将一个字符替换为另一个字符)这三种操作。例如,将字符串"Kitten"转换为" ...

    Java编程工具EditPlus

    它支持正则表达式搜索,这在处理复杂字符串匹配或替换时非常实用。而且,它的多文档界面允许你同时编辑多个文件,这对于处理多个源文件的项目尤为方便。 对于版本控制,EditPlus集成了Git和其他版本控制系统,可以...

    JAVA上百实例源码以及开源项目源代码

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字 Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,...

    阿里巴巴最新java开发手册

    4. **性能优化**:手册提供了一些性能调优的建议,比如避免频繁创建对象,使用StringBuilder代替String进行字符串拼接,使用高效的数据结构如ArrayList和HashMap。此外,还强调了避免过度设计,优先考虑简单、可读的...

    java创建TXT文件并进行读、写、修改操作

    在Java编程中,对文件进行操作是一项基础且重要的技能,特别是在处理大量数据或日志记录时。本文将深入解析如何利用Java来创建TXT文件,并对其执行读取、写入及修改操作。 #### 创建TXT文件 在Java中创建TXT文件...

    Java设计模式(第2版)中文版 高清版本 带书签

    《Java设计模式(第2版)》是一本深入探讨Java编程中设计模式的权威书籍,中文版的出现使得更多的国内开发者能够无障碍地学习这门重要的技术。...因此,《Java设计模式(第2版)》是一本值得所有Java开发者深入研究的书籍。

    字符串使用情况查询,类型和内容可选

    1. **全文搜索**:能够搜索整个代码库或特定目录下的所有字符串,包括源代码、注释、字符串常量等。 2. **过滤和筛选**:允许用户输入特定的字符串,只显示与之匹配的结果。 3. **文件和行定位**:显示每个匹配项...

    java代码-3.编写一个程序判断字符串“Tom”是否在另一个字符串“I am Tom, I am from China”中出现。

    此外,关于Java字符串处理,还有一些其他值得注意的知识点: 1. **常量字符串**:在Java中,所有的字符串都是对象,且字符串常量都存储在字符串池中,这是为了节省内存。例如,`String s1 = "Hello"; String s2 = ...

    基于java的邮箱地址验证 jaev.zip

    正则表达式是一种强大的文本处理工具,可以用来匹配、查找、替换符合特定模式的字符串。对于邮箱地址的验证,我们需要一个能够匹配大多数常见邮箱格式的正则表达式。 例如,一个简单的邮箱地址验证正则表达式可能是...

    textpad java彩色突出显示的编辑器编辑和编译程序

    1. **颜色编码**:TextPad支持Java语法的颜色编码,关键字、注释、字符串、常量、变量等元素都有各自独特的颜色标识,使得代码在视觉上层次分明,帮助开发者更快地理解和定位代码。 2. **自动完成**:TextPad具有...

    基于Java语言教程&案例&相关项目资源

    - **字符串**:熟悉String类的功能,比如字符串拼接、分割、替换等操作。 - **集合框架**:学习List、Set和Map三种主要的数据集合,以及它们之间的区别。 4. **面向对象编程**: - **类与对象**:理解类与对象的...

    java学习笔记及设计模式

    总的来说,这份“Java学习笔记及设计模式”资源是Java初学者和进阶者的宝贵财富,它不仅涵盖了语言的核心概念,还提供了实际问题的解决方案,有助于提升开发者的专业素养和解决问题的能力。无论是准备面试,还是提升...

    实现string算法的魔 鬼 曲 线

    每次迭代时,将当前字符串中的每个字符替换为对应的规则,同时记录下每次替换后的位置变化。这个过程会生成一系列的线段,随着迭代次数的增加,这些线段组合起来就形成了越来越复杂的曲线。当迭代次数足够大时,就会...

    阿里巴巴java开发手册2020

    - 使用UTF-8编码格式,避免字符集问题。 - 类名使用驼峰命名法,如`UserName`,常量全大写,如`USER_NAME`,变量名首字母小写,如`userName`。 - 注释清晰简洁,用英文注释,对代码功能、目的进行解释。 2. **...

    一个基于接口和注解的Java HTTP客户端.docx

    - **计算请求耗时**:记录请求开始和结束的时间,计算出请求的总耗时。 - **动态添加公共请求头**:例如添加认证令牌或跟踪ID等。 - **返回错误的统一处理**:对于失败的响应,可以统一处理错误信息,避免在每个请求...

    Java面试资料之MyBatis相关

    它是一个半 ORM(对象关系映射)框架,其主要功能是将 Java 对象映射到数据库记录,同时允许开发者直接编写 SQL 语句,以实现高度灵活的数据查询和操作。MyBatis 通过 XML 配置文件或注解方式来定义 SQL 语句,从而...

    Notepad2 32位 64位 替换系统Notepad 支持代码高亮

    7. **编码支持**:Notepad2支持多种字符编码,如ASCII、Unicode、UTF-8等,确保在处理不同编码的文件时不会出现乱码问题。 8. **轻量级**:Notepad2体积小巧,占用资源少,启动速度快,即使在较旧的计算机上也能...

    Java常用工具包 Jodd

    5. **字符串操作**:Jodd提供了强大的字符串工具类,包含各种常用的字符串处理方法,如替换、分割、格式化等,这些方法在日常开发中非常实用。 6. **反射和枚举操作**:Jodd的反射工具可以帮助开发者在运行时检查和...

    【中文】【 Java与模式 】【pdf】【39.64 MB】

    根据提供的文件信息,我们可以推断出这是一本关于Java与设计...综上所述,《Java与模式》这本书覆盖了Java语言的基础知识以及各种常用的设计模式,并结合实战案例进行深入浅出的讲解,是一本值得深入学习的经典之作。

Global site tag (gtag.js) - Google Analytics