Delphi 10.3.X 截取字符串函数subString 和copy()对应C# subString 及 String 常用字串符处理函数用法

【转载原文制表 龟山阿卍】欢迎加入Delphi开发局QQ群:32422310

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;
发布了58 篇原创文章 · 获赞 10 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/xyzhan/article/details/102485195