大小写转换:


function ToLower: string;
function ToLower(LocaleID: TLocaleID): string;
function ToLowerInvariant: string;
function ToUpper: string;
function ToUpper(LocaleID: TLocaleID): string;
function ToUpperInvariant: string;class function LowerCase(const S: string): string;
class function LowerCase(const S: string; LocaleOptions: TLocaleOptions): string;
class function UpperCase(const S: string): string;
class function UpperCase(const S: string; LocaleOptions: TLocaleOptions): string;
//--------------------------------------------------------------------------------
varstr: string;
beginstr := 'Delphi';str := str.ToLower; // delphistr := str.ToUpper; // DELPHI
end;


清除两边空格或指定字符:


function Trim: string;
function TrimLeft: string;
function TrimRight: string;
function Trim(const TrimChars: array of Char): string;
function TrimLeft(const TrimChars: array of Char): string;
function TrimRight(const TrimChars: array of Char): string;
//--------------------------------------------------------------------------------
varstr1, str2: string;
beginstr1 := '   Delphi 10000   ';str2 := str1.TrimLeft;  // 'Delphi 10000   'str2 := str1.TrimRight; // '   Delphi 10000'str2 := str1.Trim;      // 'Delphi 10000'str2 := str1.Trim([' ', '0']); // 'Delphi 1'
end;


字符串对比:


function CompareTo(const strB: string): Integer;class function Compare(const StrA: string; const StrB: string): Integer;
class function CompareText(const StrA: string; const StrB: string): Integer;
class function Compare(const StrA: string; const StrB: string; LocaleID: TLocaleID): Integer;
class function Compare(const StrA: string; const StrB: string; IgnoreCase: Boolean): Integer;
class function Compare(const StrA: string; const StrB: string; IgnoreCase: Boolean; LocaleID: TLocaleID): Integer;
class function Compare(const StrA: string; IndexA: Integer; const StrB: string; IndexB: Integer; Length: Integer): Integer;
class function Compare(const StrA: string; IndexA: Integer; const StrB: string; IndexB: Integer; Length: Integer; LocaleID: TLocaleID): Integer;
class function Compare(const StrA: string; IndexA: Integer; const StrB: string; IndexB: Integer; Length: Integer; IgnoreCase: Boolean): Integer;
class function Compare(const StrA: string; IndexA: Integer; const StrB: string; IndexB: Integer; Length: Integer; IgnoreCase: Boolean; LocaleID: TLocaleID): Integer;
class function CompareOrdinal(const StrA: string; const StrB: string): Integer;
class function CompareOrdinal(const StrA: string; IndexA: Integer; const StrB: string; IndexB: Integer; Length: Integer): Integer;
//--------------------------------------------------------------------------------
varstr1, str2: string;n: Integer;
beginstr1 := 'ABC 123';str2 := 'abc 123';n := str1.CompareTo(str2);              // -32n := str1.Compare(str1, str2);          // 1n := str1.CompareText(str1, str2);      // 0; 相同n := str1.Compare(str1, str2, True);    // 0; 不区分大小写n := str1.CompareOrdinal(str1, str2);   // -32n := str1.Compare(str1, 4, str2, 4, 3); // 0; 只对比后三位
end;


搜索字符串:


function IndexOf(value: Char): Integer;
function IndexOf(const Value: string): Integer;
function IndexOf(Value: Char; StartIndex: Integer): Integer;
function IndexOf(const Value: string; StartIndex: Integer): Integer;
function IndexOf(Value: Char; StartIndex: Integer; Count: Integer): Integer;
function IndexOf(const Value: string; StartIndex: Integer; Count: Integer): Integer;
function IndexOfAny(const AnyOf: array of Char): Integer;
function IndexOfAny(const AnyOf: array of Char; StartIndex: Integer): Integer;
function IndexOfAny(const AnyOf: array of Char; StartIndex: Integer; Count: Integer): Integer;function LastIndexOf(Value: Char): Integer;
function LastIndexOf(const Value: string): Integer;
function LastIndexOf(Value: Char; StartIndex: Integer): Integer;
function LastIndexOf(const Value: string; StartIndex: Integer): Integer;
function LastIndexOf(Value: Char; StartIndex: Integer; Count: Integer): Integer;
function LastIndexOf(const Value: string; StartIndex: Integer; Count: Integer): Integer;
function LastIndexOfAny(const AnyOf: array of Char): Integer;
function LastIndexOfAny(const AnyOf: array of Char; StartIndex: Integer): Integer;
function LastIndexOfAny(const AnyOf: array of Char; StartIndex: Integer; Count: Integer): Integer;
//--------------------------------------------------------------------------------
varstr: string;n: Integer;
beginstr := 'A1 A2 A3 A4';n := str.IndexOf('A');     // 0n := str.LastIndexOf('A'); // 9n := str.IndexOf('B');     // -1; 没找到n := str.IndexOf('A', 1, str.Length - 1);                  // 3n := str.LastIndexOf('A', str.Length - 1, str.Length - 1); // 9n := str.IndexOfAny(['1', '2', '3', '4']);     // 1n := str.LastIndexOfAny(['1', '2', '3', '4']); // 10
end;


是否包含:


function Contains(const Value: string): Boolean;function StartsWith(const Value: string): Boolean;
function StartsWith(const Value: string; IgnoreCase: Boolean): Boolean;function EndsWith(const Value: string): Boolean;
function EndsWith(const Value: string; IgnoreCase: Boolean): Boolean;class function EndsText(const ASubText, AText: string): Boolean;
//--------------------------------------------------------------------------------
varstr: string;b: Boolean;
beginstr := 'Delphi XE4';b := str.Contains('XE'); // Trueb := str.Contains('xe'); // Falseb := str.StartsWith('delphi');       // Falseb := str.StartsWith('delphi', True); // Trueb := str.EndsWith('XE4');            // Trueb := str.EndsText('xe4', str);       // True
end;


添加或解除引号:


function QuotedString: string;
function QuotedString(const QuoteChar: Char): string;function DeQuotedString: string;
function DeQuotedString(const QuoteChar: Char): string;
//--------------------------------------------------------------------------------
varstr1, str2: string;
beginstr1 := 'Delphi';str2 := str1.QuotedString;        // 'Delphi'str2 := str1.QuotedString('"');   // "Delphi"str1 := '"Delphi"';str2 := str1.DeQuotedString('"'); // Delphi
end;


适宽处理:


function PadLeft(TotalWidth: Integer): string;
function PadLeft(TotalWidth: Integer; PaddingChar: Char): string;
function PadRight(TotalWidth: Integer): string;
function PadRight(TotalWidth: Integer; PaddingChar: Char): string;
//--------------------------------------------------------------------------------
varstr: string;
beginstr := '1';str := str.PadLeft(4, '0'); // 0001
end;


插入与删除:


function Insert(StartIndex: Integer; const Value: string): string;function Remove(StartIndex: Integer): string;
function Remove(StartIndex: Integer; Count: Integer): string;
//--------------------------------------------------------------------------------
varstr1, str2: string;
beginstr1 := 'Delphi 4';str2 := str1.Insert(7, 'XE'); // Delphi XE4str1 := 'Delphi XE4';str2 := str1.Remove(6);    // Delphistr2 := str1.Remove(7, 2); // Delphi 4
end;


截取:


function Substring(StartIndex: Integer): string;
function Substring(StartIndex: Integer; Length: Integer): string;
//--------------------------------------------------------------------------------
varstr1, str2: string;
beginstr1 := 'Delphi XE4';str2 := str1.Substring(7);    // XE4str2 := str1.Substring(7, 2); // XE
end;


替换:


function Replace(OldChar: Char; NewChar: Char): string;
function Replace(OldChar: Char; NewChar: Char; ReplaceFlags: TReplaceFlags): string;
function Replace(const OldValue: string; const NewValue: string): string;
function Replace(const OldValue: string; const NewValue: string; ReplaceFlags: TReplaceFlags): string;
//--------------------------------------------------------------------------------
varstr1, str2: string;
beginstr1 := 'ABC ABC ABC';str2 := str1.Replace('A', '*');                 // *BC *BC *BCstr2 := str1.Replace('A', '*', [rfIgnoreCase]); // *BC ABC ABC
end;


分割:


function Split(const Separator: array of Char): TArray<string>;
function Split(const Separator: array of Char; Count: Integer): TArray<string>;
function Split(const Separator: array of Char; Options: TStringSplitOptions): TArray<string>;
function Split(const Separator: array of string; Options: TStringSplitOptions): TArray<string>;
function Split(const Separator: array of Char; Count: Integer; Options: TStringSplitOptions): TArray<string>;
function Split(const Separator: array of string; Count: Integer; Options: TStringSplitOptions): TArray<string>;
//--------------------------------------------------------------------------------
varstr: string;arr: TArray<string>;
beginstr := 'A-1,B-2,,,C-3,D-4';arr := str.Split([',']);                                   // arr[0] = A-1; Length(arr) = 6arr := str.Split([','], TStringSplitOptions.ExcludeEmpty); // 忽略空项; Length(arr) = 4arr := str.Split([','], 2);                                // 只提取前 2arr := str.Split([',', '-'], ExcludeEmpty); //arr[0] = A; Length(arr) = 8arr := str.Split([',,,'], None);            // 分隔符可以是一个字符串数组
end;


连接:


class function Join(const Separator: string; const values: array of const): string;
class function Join(const Separator: string; const Values: array of string): string;
class function Join(const Separator: string; const Values: IEnumerator<string>): string;
class function Join(const Separator: string; const Values: IEnumerable<string>): string;
class function Join(const Separator: string; const value: array of string; StartIndex: Integer; Count: Integer): string;
//--------------------------------------------------------------------------------
varS: string;str: string;strArr: TArray<string>;
beginstr := 'A1,B2,C3,,,,D4,E5,F6,G7';strArr := str.Split([','], ExcludeEmpty);str := S.Join('-', strArr);             // A1-B2-C3-D4-E5-F6-G7str := S.Join('; ', [1,2,3,4,5]);       // 1; 2; 3; 4; 5str := S.Join(',', ['abc', 123, true]); // abc,123,True
end;


类型转换:


function ToBoolean: Boolean;
function ToInteger: Integer;
function ToSingle: Single;
function ToDouble: Double;
function ToExtended: Extended;class function ToBoolean(const S: string): Boolean;
class function ToInteger(const S: string): Integer;
class function ToSingle(const S: string): Single;
class function ToDouble(const S: string): Double;
class function ToExtended(const S: string): Extended;class function Parse(const Value: Integer): string;
class function Parse(const Value: Int64): string;
class function Parse(const Value: Boolean): string;
class function Parse(const Value: Extended): string;
//--------------------------------------------------------------------------------
varS: string;str: string;n: Integer;b: Boolean;f: Double;
beginstr := S.Parse(123);n := str.ToInteger;  // 123b := str.ToBoolean;  // Truestr := S.Parse(True);b := str.ToBoolean;  // Truen := str.ToInteger;  // -1str := S.Parse(3.14159260000);f := str.ToDouble;  //3.1415926
end;


定界符:


function IsDelimiter(const Delimiters: string; Index: Integer): Boolean;
function LastDelimiter(const Delims: string): Integer;
//--------------------------------------------------------------------------------
varstr: string;b: Boolean;n: Integer;
beginstr := 'http://del.cnblogs.com';b := str.IsDelimiter(':', 4);  // Trueb := str.IsDelimiter('//', 5); // Truen := str.LastDelimiter('.');   // 18n := str.IndexOf('.');         // 10
end;


空字符串:


const Empty = '';function IsEmpty: Boolean;class function IsNullOrEmpty(const Value: string): Boolean;
class function IsNullOrWhiteSpace(const Value: string): Boolean;
//--------------------------------------------------------------------------------
varS: string;str: string;b: Boolean;
beginstr := '       ';b := str.IsEmpty;               // Falseb := S.IsNullOrWhiteSpace(str); // True
end;


String 与 Char:


class function Create(C: Char; Count: Integer): string;
class function Create(const Value: array of Char; StartIndex: Integer; Length: Integer): string;
class function Create(const Value: array of Char): string;property Chars[Index: Integer]: Char read GetChars;
property Length: Integer read GetLength;function CountChar(const C: Char): Integer;function ToCharArray: TArray<Char>;
function ToCharArray(StartIndex: Integer; Length: Integer): TArray<Char>;procedure CopyTo(SourceIndex: Integer; var destination: array of Char; DestinationIndex: Integer; Count: Integer);
//--------------------------------------------------------------------------------
varS: string;str, str2: string;charArr: TCharArray;n: Integer;c: Char;
beginstr := 'ABC';n := str.Length;   // 3c := str.Chars[0]; // A = str[1]str := S.Create('A', 7); // AAAAAAAcharArr := 'ABCDEFG'.ToCharArray;str := s.Create(charArr);       // ABCDEFGstr := S.Create(charArr, 1, 3); // BCDcharArr := '1234567890'.ToCharArray;str := 'ABCDEFG';str.CopyTo(1, charArr, 2, 3);str := S.Create(charArr);       // 12BCD67890
end;


其他:


function Equals(const Value: string): Boolean;
function GetHashCode: Integer;class function Equals(const a: string; const b: string): Boolean;
class function Format(const Format: string; const args: array of const): string;
class function Copy(const Str: string): string;
//--------------------------------------------------------------------------------// 用 Equals 不如直接用 = 号
// 用 Copy 不如直接用 :=
// 用 string.Format 不如直接用 Format()// 总之, 还是有用处的多!

测试 System.SysUtils.TStringHelper相关推荐

  1. 使用系统规则测试System.in和System.out

    编写单元测试是软件开发的组成部分. 当您的被测类与操作系统交互时,您必须解决的一个问题是模拟其行为. 这可以通过使用模拟代替Java Runtime Environment(JRE)提供的实际对象来完 ...

  2. delphi XE 10实现App和PC下TreeView调用ImageList和Sqlite数据

    delphi XE 10实现App和PC下TreeView调用ImageList和Sqlite数据 一.工程 program TreeView; usesSystem.StartUpCopy,FMX. ...

  3. Android实例-为程序创建快捷方式(未测试)

    结果: 1.因为只有小米手机,没有三星手机,没法测试.如果哪位神测试过的话,记得M我哦,谢了. 实例代码:  1 unit Unit1; 2 3 interface 4 5 uses 6 System ...

  4. Android系统system文件夹结构的说明 \system下的app、lib、bin、etc、fonts、framework

    \system\app 这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件.在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是/data/文件夹中 \s ...

  5. Dom4j遍历解析XML测试

    http://lavasoft.blog.51cto.com/62575/66953 Dom4j遍历解析XML测试 近来老和XML打交道,不深挖不行了.. 这是一个Dom4j解析XML的例子,为做复杂 ...

  6. MySQL MGR 5.7.22 on centos 6.3 单主/多主搭建测试

    搭建Mysql Group Replication 本次搭建采用3个实例,三个服务器,同一个网段,MGR的参数配置在配置文件中添加. 注意通讯端口号的配置,它用于组成员之间的通讯使用 请确定当前MyS ...

  7. 50.Spark大型电商项目-用户访问session分析-top10热门品类之本地测试

    本篇文章记录用户访问session分析-top10热门品类之本地测试. 在测试的过程中,到很多问题. 问题一:二次排序需要序列化,否则会在程序运行的时候报错. public class Categor ...

  8. 全国大学生软件测试开发者测试大赛笔记总结

    全国大学生软件测试开发者测试大赛笔记总结 (1)常用头文件 import static org.junit.Assert.assertEquals; import java.lang.reflect. ...

  9. 测试开源.net 混淆器ConfuserEx

    由于公司业务需要简单的把代码加密混淆,于是了解了一下相关的工具然后打算用ConfuserEx试试. 开源地址:https://github.com/yck1509/ConfuserEx/ 下载地址:h ...

最新文章

  1. 「最小细胞」的3D数字模型,计算揭示生命最基本的要求
  2. 此问题可能是由配置更改或安装另一个扩展导致的
  3. 信捷步进指令的使用_【笔记】信捷plc应用,指令篇
  4. 旋转链表Python解法
  5. OCM_第十九天课程:Section9 —》Data Guard _ DATA GUARD 原理/DATA GUARD 应用/DATA GUARD 搭建...
  6. brainfuck 在线_私有化部署,开源轻量级的团队在线协作工具——Kooteam
  7. 减小服务器负担,Apache启用mod_expires模块
  8. 30个值得推荐的数据可视化工具(2022年最新)
  9. IAT-Hook 劫持进程Api调用
  10. MongoDB同步原理解析
  11. 机械零件设计手册_NASA Fastener Design Manual 紧固件设计手册 - 翻译 2/14
  12. 梦参老和尚:糊涂人念〈大悲咒〉往生的故事
  13. PAT (Basic Level) Practice 1085 PAT单位排行
  14. Bluetooth技术学习笔记 ——蓝牙核心系统架构
  15. php九宫格图片合成,php实现微信中的图片合并-九宫格图片
  16. 如何下载Tomcat
  17. linux 流量监控利器:iftop
  18. Ubuntu虚拟机没有网络图标或者无法获取IP地址
  19. 【神经网络】神经网络发展趋势及研究热点
  20. 元宇宙产业委常务副主任委员甘华鸣:狭义元宇宙9大技术:一种基于狭义元宇宙体系结构的观点

热门文章

  1. Linux CentOS6离线安装Jupyter notebook
  2. linux右键菜单的截图,Linux: 给右键菜单加一个“转换图片为jpg格式”
  3. 智商情商哪个重要_《所谓逆商高,就是心态好》:逆商,比情商和智商更重要...
  4. java表达式语句_Java基础知识笔记第三章:运算符表达式语句
  5. 深度优化LNMP之Nginx [2]
  6. Netty入门(二)时间服务器及客户端
  7. 如何调查一家公司是否靠谱?
  8. 互联网日报 | 天猫双11今日启动预售;同程艺龙成立酒旅事业群;恒大汽车正式启动科创板上市辅导...
  9. php插入一个自增字段,thinkphp-自增或自减一个字段的值
  10. python监听键盘的库的名称_python实时监控键盘鼠标,pynput库的详细用法