delphi中 怎样截取字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中 怎样截取字符串的主要内容,如果未能解决你的问题,请参考以下文章

delphi 如何不出乱码的截取字符串?

delphi怎么获取字符串之间多个字符内容?

delphi关于字符串的截取问题

delphi关于字符串的循环重复提取

delphi中怎样把字符串分解?

delphi中如何比较字符串的大小里面内容都是数字