怎么比较一个字符串中包含了另一个字符串,并能知道是第几位开始有这个字符串的。比如:
有一个“A0101”,另一个是“A01”,“A0101”中有“A01”,有没有一个函数能比较出来?
有一个“A0101”,另一个是“A01”,“A0101”中有“A01”,有没有一个函数能比较出来?
解决方案 »
- 调用PDF控件的问题,顶者有分!
- 请教如何控制视频采集卡
- 对查询出来的记录行进行分页显示,怎么做???在客户现场,哪位大虾帮忙?急急急
- delphi中操作execl的问题
- 两表组合问题.很急!
- 三层结构中,运行一下EXE型的应用服务器,就完成了注册,怎么注销EXE型的应用服务器呢?
- 纪念77事变,继续仇视日本人,有血性的进来顶贴,不给分
- 全是疑问 自己想出来的但是弄不明白 帮帮??吧!
- 如何用程序实现access表的压缩与恢复?
- 完装VCL为何出错?
- hSession := InternetOpen('MyApp', 。。。。。。。),怎样取得webbrowser的hSession?
- 求 TMS AdvStringGrid
函数说明 在Strl所指定的字符串中寻找Str2所指定的子字符串,并返回Str2在Str2中第一个子字符的指针
功能 返回字符串AText是否包含子串ASubText
说明 不区分大小写
参考 function StrUtils.AnsiUppercase; function StrUtils.AnsiPos
例子 CheckBox1.Checked := AnsiContainsText(Edit1.Text, Edit2.Text);
-----------------------------------------------------------------------------------------
首部 function AnsiIndexText(const AText: string; const AValues: array of string): Integer; $[StrUtils.pas
功能 返回字符串AText在字符串数组AValues中的位置
说明 不区分大小写;如果不包含则返回-1
参考 function SysUtils.AnsiSameText
例子 SpinEdit1.Value := AnsiIndexText(Edit1.Text, ['a1', 'a2', 'a3', 'a4']);
-----------------------------------------------------------------------------------------
首部 function AnsiContainsStr(const AText, ASubText: string): Boolean; $[StrUtils.pas
功能 返回字符串AText是否包含子串ASubText
说明 区分大小写
参考 function StrUtils.AnsiPos
例子 CheckBox1.Checked := AnsiContainsStr(Edit1.Text, Edit2.Text);
-----------------------------------------------------------------------------------------
首部 function AnsiReplaceStr(const AText, AFromText, AToText: string): string; $[StrUtils.pas
功能 返回字符串AText中用子串AFromText替换成子串AToText的结果
说明 区分大小写
参考 function SysUtils.StringReplace; type SysUtils.TReplaceFlags
例子 Edit4.Text := AnsiReplaceStr(Edit1.Text, Edit2.Text, Edit3.Text);
-----------------------------------------------------------------------------------------
你可以用AnsiContainsText判断是否包含子串,若是,用AnsiReplaceStr函数用几个特殊字符替换子串(如用*号),然后再判断'*'的位置即可.
string1:='A0101';
string2:='A01'
stringn:=....
将每个string后面加上一个基本上不会出现的字符,比如*,或^等,
string1:='A0101*'
string2:='A01*'
这样strpos时就不会出现你所说的问题了
查找到了后去掉最后的*就行了