大小写转换:
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;
//--------------------------------------------------------------------------------
var
  str: string;
begin
  str := Delphi;
  str := str.ToLower; // delphi
  str := 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;
//--------------------------------------------------------------------------------
var
  str1, str2: string;
begin
  str1 :=    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;
//--------------------------------------------------------------------------------
var
  str1, str2: string;
  n: Integer;
begin
  str1 := ABC 123;
  str2 := abc 123;
  n := str1.CompareTo(str2);              // -32
  n := str1.Compare(str1, str2);          // 1
  n := str1.CompareText(str1, str2);      // 0; 雷同
  n := str1.Compare(str1, str2, True);    // 0; 不区分大小写
  n := str1.CompareOrdinal(str1, str2);   // -32
  n := 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;
//--------------------------------------------------------------------------------
var
  str: string;
  n: Integer;
begin
  str := A1 A2 A3 A4;
  n := str.IndexOf(A);     // 0
  n := str.LastIndexOf(A); // 9
  n := str.IndexOf(B);     // -1; 没找到
  n := str.IndexOf(A, 1, str.Length - 1);                  // 3
  n := str.LastIndexOf(A, str.Length - 1, str.Length - 1); // 9
  n := str.IndexOfAny([1, 2, 3, 4]);     // 1
  n := 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;
//--------------------------------------------------------------------------------
var
  str: string;
  b: Boolean;
begin
  str := Delphi XE4;
  b := str.Contains(XE); // True
  b := str.Contains(xe); // False
  b := str.StartsWith(delphi);       // False
  b := str.StartsWith(delphi, True); // True
  b := str.EndsWith(XE4);            // True
  b := str.EndsText(xe4, str);       // True
end;
添加或解除引号:
function QuotedString: string;
function QuotedString(const QuoteChar: Char): string;
function DeQuotedString: string;
function DeQuotedString(const QuoteChar: Char): string;
//--------------------------------------------------------------------------------
var
  str1, str2: string;
begin
  str1 := 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;
//--------------------------------------------------------------------------------
var
  str: string;
begin
  str := 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;
//--------------------------------------------------------------------------------
var
  str1, str2: string;
begin
  str1 := Delphi 4;
  str2 := str1.Insert(7, XE); // Delphi XE4
  str1 := Delphi XE4;
  str2 := str1.Remove(6);    // Delphi
  str2 := str1.Remove(7, 2); // Delphi 4
end;
截取:
function Substring(StartIndex: Integer): string;
function Substring(StartIndex: Integer; Length: Integer): string;
//--------------------------------------------------------------------------------
var
  str1, str2: string;
begin
  str1 := Delphi XE4;
  str2 := str1.Substring(7);    // XE4
  str2 := 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;
//--------------------------------------------------------------------------------
var
  str1, str2: string;
begin
  str1 := ABC ABC ABC;
  str2 := str1.Replace(A, );                 // BC BC BC
  str2 := 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>;
//--------------------------------------------------------------------------------
var
  str: string;
  arr: TArray<string>;
begin
  str := A-1,B-2,,,C-3,D-4;
  arr := str.Split([,]);                                   // arr[0] = A-1; Length(arr) = 6
  arr := str.Split([,], TStringSplitOptions.ExcludeEmpty); // 忽视空项; Length(arr) = 4
  arr := str.Split([,], 2);                                // 只提取前 2
  arr := str.Split([,, -], ExcludeEmpty); //arr[0] = A; Length(arr) = 8
  arr := 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;
//--------------------------------------------------------------------------------
var
  S: string;
  str: string;
  strArr: TArray<string>;
begin
  str := A1,B2,C3,,,,D4,E5,F6,G7;
  strArr := str.Split([,], ExcludeEmpty);
  str := S.Join(-, strArr);             // A1-B2-C3-D4-E5-F6-G7
  str := S.Join(; , [1,2,3,4,5]);       // 1; 2; 3; 4; 5
  str := 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;
//--------------------------------------------------------------------------------
var
  S: string;
  str: string;
  n: Integer;
  b: Boolean;
  f: Double;
begin
  str := S.Parse(123);
  n := str.ToInteger;  // 123
  b := str.ToBoolean;  // True
  str := S.Parse(True);
  b := str.ToBoolean;  // True
  n := str.ToInteger;  // -1
  str := S.Parse(3.14159260000);
  f := str.ToDouble;  //3.1415926
end;
定界符:
function IsDelimiter(const Delimiters: string; Index: Integer): Boolean;
function LastDelimiter(const Delims: string): Integer;
//--------------------------------------------------------------------------------
var
  str: string;
  b: Boolean;
  n: Integer;
begin
  str := http://del.cnblogs.com;
  b := str.IsDelimiter(:, 4);  // True
  b := str.IsDelimiter(//, 5); // True
  n := str.LastDelimiter(.);   // 18
  n := str.IndexOf(.);         // 10
end;
空字符串:
const Empty = ;
function IsEmpty: Boolean;
class function IsNullOrEmpty(const Value: string): Boolean;
class function IsNullOrWhiteSpace(const Value: string): Boolean;
//--------------------------------------------------------------------------------
var
  S: string;
  str: string;
  b: Boolean;
begin
  str :=        ;
  b := str.IsEmpty;               // False
  b := 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);
//--------------------------------------------------------------------------------
var
  S: string;
  str, str2: string;
  charArr: TCharArray;
  n: Integer;
  c: Char;
begin
  str := ABC;
  n := str.Length;   // 3
  c := str.Chars[0]; // A = str[1]
  str := S.Create(A, 7); // AAAAAAA
  charArr := ABCDEFG.ToCharArray;
  str := s.Create(charArr);       // ABCDEFG
  str := S.Create(charArr, 1, 3); // BCD
  charArr := 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()
// 总之, 还是有效处的多!
我俩之间有着强烈的吸引力。短短几个小时后,我俩已经明白:我们的心是一个整体的两半,我俩的心灵是孪生兄妹,是知己。她让我感到更有活力,更完美,更幸福。即使她不在我身边,我依然还是感到幸福,因为她总是以这样或者那样的方式出现在我心头。——恩里克·巴里奥斯《爱的文明》