在Delphi中,怎么查找字符串?
Delphi提供的字符串函数里有一个Pos函数,它的定义是:
function Pos(Substr: string; S: string): Integer;
它的作用是在字符串S中查找字符串Substr,返回值是Substr在S中第一次出现的位置,如果没有找到,返回值为0。
使用pos函数来查找字符第一次出现的位置
var
str1:string;
i,j:integer;
begin
str1:='dsf4654f6dsad' ;
j:=pos('',str1);//在字符串str1中查找""
if j0 then //得到的j是字符串中出现的位置,是整型
showmessage(''+'在第'+inttostr(j)+'个位置'); //第十个位置
end;
delphi中pos函数怎么用?
pos(a,b)函数用法如下:取出子串a,在父串b中第一次出现的位置。
例如:
pos(‘b’,‘abcd’);
返回结果是2;
在delphi中使用汇编异常的简单,只用使用关键字asm ....end来引导就行了。 得到一个字符在字符串中的位置有很多方法,最简单的就是使用delphi自己的Pos函数 。
另外一个方法就是使用 循环查找字符串数组的方法,二分法等,这几种是比较常规的方法,其中建议最好不使用Pos函数。 因为,虽然使用该函数写的代码是很简单,只用一句话:
CharIndex := Pos(MyChar,str)
就能够完成,但是其实他的效率是最低的,因为delphi在使用它之前,先要开辟一个数组空间。
扩展资料
delphi中pos和Ansipos函数的区别:
POS和ANSIPOS的主要区别在于,POS参数多用于是一个字符,而ANSIPOS多用于是多个字符:
例如:i:=pos('a','sssssas');
i:=ansipos('abc','sdabcss');
AnsiPos是以Ansi字符做为Pos单位,例如AnsiPos('|','王韡|')得到的值是5。Pos是以字节作为Pos单位,例如Pos('|','王韡|')得到的值是4,因“‘韡”是由两个字节组成,而其低位为“|”所以Pos后的结果为4。
另外AnsiPos和Pos都可以Pos多字符目标,例如:
AnsiPos('Abs','123Abs78') = 4
AnsiPos('Abs','123A5678') = 0
Pos('Abs','123Abs78') = 4
Pos('Abs','123A5678') = 0
POS()的PB中的pos()函数
Pos()
功能:在一个字符串中查找所包含的另一个字符串的起始位置。
语法:Pos ( string1, string2 {, start } )
参数:
string1:string类型,指定要从中查找子串string2的字符串(与pascal相反)
string2:string类型,指定要在string1中查找的字符串(与pascal相反)
start:long类型,可选项,指定从string1的第几个字符开始查找。缺省值为1返回值Long。
函数执行成功时返回在start位置后string2在string1中第一次出现的起始位置。如果在string1中按指定要求未找到string2、或start的值超过了string1的长度,那么Pos()函数返回0。如果任何参数的值为NULL,Pos()函数返回NULL。
用法Pos()函数在字符串查找时区分大小写,因此,aa不匹配AA。
pb9以下用PosW()
pb9以上用PosA()
任何版本都可以用Pos()
举例:
String ls_string ='ABC'
integer li_pos
li_pos =pos(ls_string,'B')
这是 li_pos =2
如果 li_pos = pos (ls_string,'B',3) 则 li_pos =0
pascal中pos函数的使用
...
p:=1;
s:='fafdsa';
while true do
begin
p:=pos('f', s);
if p=0 then break; // no more 'f' found
// find first 'f' in s at postion p
...
delete(s, p, 1); // delete first 'f' ;
end;
pascal中的pos函数是怎么使用的?
在 p:=pos(ch,s)中,
ch可为char,也可为string, (LZ不妨试一试用string)
当返回值p=0时,则在s中没有ch出现,
否则p就为ch最早在s中出现在第p位
例如:
p:=pos(‘j','adjadj’); 则p=3;
p:=pos('c','adjadj'); 则p=0;
p:=pos('dj','adjadj');则p=2;
比如pos('l','liang') ,那么结果是1
对于pos函数如何用和poslin函数的总结分享本篇到此就结束了,不知你从中学到你需要的知识点没 ?如果还想了解更多这方面的内容,记得收藏关注本站后续更新。
标签: Pos
②文章观点仅代表原作者本人不代表本站立场,并不完全代表本站赞同其观点和对其真实性负责。
③文章版权归原作者所有,部分转载文章仅为传播更多信息、受益服务用户之目的,如信息标记有误,请联系站长修正。
④本站一律禁止以任何方式发布或转载任何违法违规的相关信息,如发现本站上有涉嫌侵权/违规及任何不妥的内容,请第一时间反馈。发送邮件到 88667178@qq.com,经核实立即修正或删除。