指点成金-最美分享吧

登录

delphi中 怎样截取字符串

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了delphi中 怎样截取字符串相关的知识,希望对你有一定的参考价值。

就像 caption:= 12/456/78/900。
就像pos("/", caption); 是得到第一个斜杠的位置。
我要得到最后一个斜杠的位置
怎么弄。

我的思路是一直用POS函数,查到一个删除一个/,当没有查到/时,那上一次的pos位置就是最后出现的位置,给你写了个函数,
function PosEnd(const substr,str : string) : integer;
var
tmp : string;
i,j,flag : integer;
begin
flag := -1;
tmp := str;
i := pos(substr,tmp);
while i <> 0 do
begin
delete(tmp,i,1);
inc(flag);
j := i;
i := pos(substr,tmp);
end;
result := j + flag;
end;

调用方法
caption:= 12/456/78/900
i := PosEnd("/",caption) //10
参考技术A procedure TForm1.Button1Click(Sender: TObject); var wStr: string; wPos1,如果用字符串截取 var SS, S:String; begin SS := 参考技术B 反序字符串后 取第一个"/"位置nPos 然后用Length(Caption) - nPos + 1 = RealPos追问

咋样反序 ?
写出代码来看看

追答

在delphi的strUtils单元有函数:
首部 function ReverseString(const AText: string): string;
功能 返回字符串AText的反序
说明 ReverseString("1234") = "4321"
参考 function System.SetLength
例子 Edit3.Text := ReverseString(Edit1.Text);

参考技术C 求子串吗??

MYSQL中使用sql函数怎样截取字符串

substr(列名,值1,值2) 获取列名值1和值2之间的数,例如
select sunstr(name,2,4) from student where name="lilei"
结果就是ilei
charindex(值1,值2) 返回值1在值2中的其实位置
charindex ("sql","microsoft.sql.server")
结果返回11
参考技术A left(字段,2)从左边截取该字段的两位;
right(字段,3)从右边截取该字段的三位

以上是关于delphi中 怎样截取字符串的主要内容,如果未能解决你的问题,请参考以下文章