Delphi 特殊字符串的替换

编程中,对特殊字符的替换要求很高。特别是,对原代码的修改时,要对象名,VCL控件名,相关参数等特有字符,进行全文修改,和批量修改。因此,有必要设置出一个要求有条件限制性的替换字符函数。

function ReplaceVCLStr(Const S,sOld,sNew:WideString; var iTol:Integer):WideString;

例如:下列源代码进行替换:

type
  TPrintOld7Frm = class(TForm)
    Edit100: TEdit;
    Edit2: TEdit;
    RichEdit12: TEditEdit;
    DBEdit: TDBEdit;

DteEdit1: TDateEdit;
    sEdit1: TEdit;

替换成:

type
  TPrintOld7Frm = class(TForm)
    sEdit100: TsEdit;
    sEdit2: TsEdit;
    sRichEdit12: TsEditEdit;
    sDBEdit1: TsDBEdit;

sDteEdit1: TsDateEdit;
    sEdit: TEdit;

如果要将Edit替换成sEdit,TEdit替换成TsEdit,如果使用常规的替换字符函数,是不行的。例如,仅用sEdit替换Edit,是不可以实现的,违背初衷的,因为Edit是被替换字符,它是最短字符,它还包含在其它不需要替换的字符中间,例如DBRichEdit1中就包含了Edit。简单的替换字符函数执行后,也要将其中的Edit,替换成sEdit,变成DBRichsEdit1(出错了)。

通过实践,本人找到编写此类要求替换字符函数的条件(用于检测该字符的外围环境):

1、检查被替换字符前一位的字符值

(1)认可的字符

(2)不认可的字符

2、检查被替换字符前一位的字符值

(1)认可的字符

(2)不认可的字符

这样,可以完成代码替换字符的要求。

在函数的原代码中,加入上述2个条件后,完成能实现指定字符的替换和修改。

实际运用:

Delphi 替换字符函数

Delphi 特殊字符串的替换相关推荐

  1. php中的替换函数,php字符串中替换函数是什么

    php字符串中替换函数有两种,分别是:1.substr_replace函数,用于把字符串的一部分替换为另一个字符串:2.str_replace函数,能够使用一个字符串替换字符串中的另一些字符. 本文操 ...

  2. oracle按特定字符截取字符串_妙用字符串的替换和截取让Shell脚本精准得到你心中的那个“她”...

    目的 shell脚本中各种条件的判断,都需要对判定条件精准把控,而字符串在脚本中用的是最多的,怎样准确的获取你想要的字符串至关重要.本文详细介绍了shell脚本中妙用字符串的替换和截取,让你精准获得你 ...

  3. Delphi中字符串比较大小 VS Oracle-SQL中字符串比较大小

    重点注意Delphi和Oracle-SQL中比较字符串时空字符串''的根本性的不同 Delphi中的字符串比较 Delphi中字符串比较大小的规则:对应位置的字符按照字符编码值逐个对比,直到遇到可以确 ...

  4. 字符串之替换字符串中连续出现的指定字符串

    题目: 字符串之替换字符串中连续出现的指定字符串 给定3个字符串str from to已知from字符串无重复字符,把str中所有from的子串全都替换成to字符串,连续出现from只需要换成一个to ...

  5. IPHONE 开发 7 -- Object C 02 字符串NSString 与 char* ,字符串的遍历,字符串的比较,截取与大小写改变,搜索字符串与替换字符串...

    Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重 ...

  6. 用批处理实现文本文件中指定字符串的替换 zz

    主题 用批处理实现文本文件中指定字符串的替换 « 上一主题 | 下一主题 » uglyfrog 发表于:2005-03-02 02:50 回复 发帖: 249 积分: 0 注册: 2001-12-30 ...

  7. python删除、替换字符串某字符后的字符串(删除字符串、替换字符串、strip、split、rstrip、lstrip、replace)

    删除字符串某字符后的字符串 url = "phpmyadmin.css.php?3Fserver=1&lang=en&token=39e3d96974667d6163351c ...

  8. java字符串反转及替换_字符串的替换(str_replace)

    php字符串与字符替换函数 在php教程替换字符效率最高也是最简单字符替换函数str_replace($arr1,$arr2,$str) 实例一 str_replace("iwind&quo ...

  9. mysql中字符串处理替换字符replace和连接字符串函数concat

    一.替换字符函数replace mysql 替换字符串的实现方法: mysql中replace函数直接替换mysql数据库中某字段中的特定字符串,不再需要自己写函数去替换,用起来非常的方便. mysq ...

最新文章

  1. 写给未来程序员的建议
  2. 某云数据中心网络解决方案(分享二十一)
  3. python(matplotlib8)——图中图(在figure中画多个坐标图),次坐标(两个y轴)
  4. Java单层循环实现输出九九乘法表
  5. Linux_日志管理介绍(一)
  6. hdu2066一个人的旅行(disjkstra)
  7. JAVA day02 流程控制语句
  8. 【资源导航】我所用到过的工具及下载地址
  9. 收藏级!运营人必备2021全年热点营销日历
  10. 微信小程序头像自动生成小程序源码
  11. 虚拟机运行python_虚的解释|虚的意思|汉典“虚”字的基本解释
  12. css3 文字竖排英文及数字竖排文字方向问题文字竖排字间距问题
  13. Eclipse 简介
  14. Java实现excel大数据量导入
  15. ES6, ES7, ES8, ES9 以及 ES10 新特征
  16. 【编写自己的RTOS】搞定任务调度
  17. 复读机java群管脚本_JS让浏览器实现复读机的功能_js
  18. 魔法android 游戏,魔法喵喵游戏最新版_魔法喵喵游戏最新安卓版预约 v1.0_游戏500...
  19. 985博士走红,粉丝超800万遭网暴!如今状告“施暴者”
  20. Centos7下下载git

热门文章

  1. apache安装流程及启动后无法访问网页问题排查
  2. vector 内存释放
  3. 探讨如何利用C#登录QQ邮箱进行群邮件的发送
  4. [Unity学习笔记:FPS游戏制作(2)] 发射子弹————(2021.6.20学习笔记)
  5. 资产数字化通证NCMT森林币IEO火热进行中
  6. 二叉搜索树(golang)
  7. mysql 用set插入数据_在MySQL中使用SET子句插入多个数据?
  8. 【QT】QObject三大核心功能——事件处理
  9. 林散之谈书道五法:品,门,工,笔,墨
  10. Springboot 循环依赖