`
zhmocean
  • 浏览: 195692 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个全字匹配的另类算法

阅读更多

如果要从一个字符串中匹配某个指定字符串(即查找指定字符串是否在某个字符串中),那么除了按字符逐个搜索外,还有一个另类通俗的算法。下面请跟我来。

代码如下(仅给出DELPHI的实现):

function searchStr(beStr, subStr: string): Integer;
var
  oldLength: integer;
  tempStr: 
string;
begin
  oldLength :
= Length(beStr);
  tempStr :
= StringReplace(beStr, subStr, '|', [rfReplaceAll]);
  
if Length(tempStr) <oldLength then
  begin
      Result :
= Pos('|', tempStr);
  end
  
else
  begin
      Result :
= -1;
  end;
end;

首先,取得要被搜索的字符串(这里为beStr)的长度

接着,使用StringReplace函数将需要搜索的字符串beStr中指定字符串(这里为subStr)替换为特殊的表示符(这里使用了“|”

最后,判断替换后的字符串是否发生了变化,如果变化说明存在相关匹配,可以使用pos函数来定位此匹配。

这个算法避免了繁杂的字符搜索和位置计算。

分享到:
评论

相关推荐

    vc++ 应用源码包_1

    压缩包内有两个源码包,一个是注册机源程序,另一个是解密机的源程序,一套完整的参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...

    vc++ 应用源码包_2

    压缩包内有两个源码包,一个是注册机源程序,另一个是解密机的源程序,一套完整的参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...

    vc++ 应用源码包_3

    压缩包内有两个源码包,一个是注册机源程序,另一个是解密机的源程序,一套完整的参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...

    vc++ 应用源码包_6

    压缩包内有两个源码包,一个是注册机源程序,另一个是解密机的源程序,一套完整的参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...

    vc++ 应用源码包_5

    压缩包内有两个源码包,一个是注册机源程序,另一个是解密机的源程序,一套完整的参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...

    Gun make中文手冊

    同时重点讨论如何为一个工程编写Makefile。作为一个Linux程序员,make工具的使用以及编写Makefile是必需的 目 录 第一章:概述 1.1 概述 1.2 准备知识 第二章:GNU make 介绍 2.1 Makefile简介 2.2 Makefile...

    vc++ 开发实例源码包

    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 FreeBird2011Dlg.h 主对话框类头文件 MultiGroup.h 多播组类头文件 UserLink.h 用户链表类头文件 ListenSocket.h 侦听接口...

    GNU make 中文手册 网页版

    3.8 重载另外一个makefile 3.9 make如何解析makefile文件 3.9.1 变量取值 3.9.2 条件语句 3.9.3 规则的定义 3.10 总结 第四章:Makefile的规则 4.1 一个例子 4.2 规则语法 4.3 依赖的类型 4.4 文件名使用...

    GNU make中文手册

    3.8 重载另外一个makefile 3.9 make如何解析makefile文件 3.9.1 变量取值 3.9.2 条件语句 3.9.3 规则的定义 3.10 总结 第四章:Makefile的规则 4.1 一个例子 4.2 规则语法 4.3 依赖的类型 4.4 文件名使用通配符 ...

    GNU MAKE 中文手册

    3.8 重载另外一个makefile 3.9 make如何解析makefile文件 3.9.1 变量取值 3.9.2 条件语句 3.9.3 规则的定义 3.10 总结 第四章:Makefile的规则 4.1 一个例子 4.2 规则语法 4.3 依赖的类型 4.4 文件名使用...

    跟我一起写 Makefile 作者:陈皓 整理:祝冬华

    二、一个示例 (8) 三、make是如何工作的 (9) 四、makefile中使用变量 (10) 五、让make自动推导 (11) 六、另类风格的makefile &#40;12&#41; 七、清空目标文件的规则 (13) 第四部分、Makefile 总述 (13) 一、Makefile...

    【推荐】GNU make中文手册

    Makefile的规则 4.1 一个例子 4.2 规则语法 4.3 依赖的类型 4.4 文件名使用通配符 4.4.1 统配符使用举例 4.4.2 通配符存在的缺陷 4.4.3 函数wildcard 4.5 目录搜寻 4.5.1 一般搜索(变量...

    Makefile.pdf

    二、一个示例...........................................................................................................................8 三、 make是如何工作的.............................................

    免费:makefile编程

    3.8 重载另外一个makefile.................................................................................................... 28 3.9 make如何解析makefile文件............................................

    makefile参考手册

    3.8 重载另外一个makefile....................................................................................................28 3.9 make如何解析makefile文件................................................

    跟我一起写Makefile.pdf

    二、一个示例...........................................................................................................................8 三、make是如何工作的.............................................

Global site tag (gtag.js) - Google Analytics