频道分类

Delphi 10.3.X 截取字符串函数subString 和copy()常用字串符处理函数用法

作者:admin 来源: 日期:2020/2/24 18:59:29 人气: 标签:

 
Delphi 在面对跨平台开发,程序语言也改进不少,不过有些改进,让原本 Delphi 开发者有些不适应,最显注的就是字串处理函数了,原本 Pascal 语言字串起始由 1 开始,几乎是它的经典了,新版本字串由 0 开始,这个改变,让很多人不适应,也多有抱怨,虽然 Delphi 尽量保有相容性,但如果要写出一码,跨所有平台,还是建议全部采用新的写法(由0开始),才是一劳永逸的做法,下面就整理常用字串处理函数新旧对照表。

老版本Delphi里没有subString
只有Copy()
Copy(s, index, count)
其中s,主字符串, index是要拷的起点,count是要拷的字符数
如:Copy('heisetoufa', 3, 4),结果为'seto'

Delphi String 常用字串符处理函数:
说明旧写法(Windows 平台)由1开始新写法(跨所有平台)由0开始
插入字串Insert('str', Str, 1);Str := Str.Insert(0, 'str');
删除字串Delete(Str, 1, 1);Str := Str.Remove(0);
Str := Str.Remove(0, 1);
复制字串Str := Copy(Str, 1, 2);Str := Str.Substring(0, 2);
转成大写UpperCase(Str);Str := Str.ToUpper;
转成小写LowerCase(Str);Str := Str.ToLower;
重复字符StringOfChar('-', 15);Str := String.Cretae('-', 15);
找子字符Pos('ABC123', Str);i := Str.IndexOf('ABC123');
是这些字CharInSet(Str[1], [' ',#13]);Str.Chars[0].IsInArray([' ',#13]);
C#语言:

string sceneName = "12-手机122345678";
sceneName = sceneName.Substring(0, sceneName.IndexOf('-'));
Delphi语言实现相同的功能,分别使用了Copy和Substring函数:欢迎加入Delphi开发局QQ群:32422310

var
  sceneName :string;
begin
  sceneName :=  '12-手机122345678';
  sceneName := sceneName.Substring(0,sceneName.IndexOf('-'));//正确
end;
 
————————————————
原文链接:https://blog.csdn.net/xyzhan/article/details/102485195