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. Linux 下关于网络的几个命令
  2. (原創) 如何利用copy() algorithm將array輸出到cout? (C/C++) (STL)
  3. OpenCV安全屏障摄像机Security Barrier Camera的实例(附完整代码)
  4. 为什么torch.nn.Linear的表达形式为y=xA^T+b而不是常见的y=Ax+b?
  5. Exchange 2013SP1和O365混合部署系列一
  6. Problem E: 求最大值和最小值
  7. Delphi中TStringList类常用属性方法详解
  8. js中 json对象与json字符串相互转换的几种方式
  9. 阿里腾讯大战前夜:决战2013,决战移动电商!
  10. 十几次CATIA安装重装系统吐血问题总结
  11. 杭州/北京内推 | 阿里达摩院招聘视觉生成方向学术实习生(人才计划)
  12. 装修工人如何在网上找活
  13. 急!有谁知道如何截获WebBrowser控件的 ie脚本错误提示 吗?
  14. Python对电影数据简单分析
  15. Python走心的42个代码例子
  16. 也许是全网最全的 Angular 新手入门指南
  17. leetcode之随心刷
  18. FirewallD is not running 原因与解决方法
  19. tomcat java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit异常解决
  20. 如何利用ArcGIS制效果较好的DEM渲染图

热门文章

  1. 【量化交易】资产配置决策
  2. 使用python爬虫模拟12306登陆
  3. html 表单折叠实现,纯CSS HTML表格单元格展开/折叠点击
  4. Java 泛型获取实体类型
  5. 时间格式化(展示星期几)
  6. 如何卸载 没有卸载程序或者提示需要使用msiexec来卸载
  7. 水利RTU助力生态流量监测系统
  8. AI给老照片注入新生命,8款工具让怀旧变得更美好
  9. “管理业务全在线”,YonSuite实力演绎成长型企业“云上狂欢”
  10. 新能源共享充电桩管理运营平台