| 493 | } |
| 494 | |
| 495 | String Substr(size_t Position, size_t CharactersCount = 0) const { |
| 496 | if (!Data.Length || Position > Data.Length) return String(); |
| 497 | if (CharactersCount) { |
| 498 | if (Position + CharactersCount > Data.Length) CharactersCount = Data.Length - Position; |
| 499 | return String(&Data.Buffer[Position], CharactersCount); |
| 500 | } else { |
| 501 | return String(&Data.Buffer[Position]); |
| 502 | } |
| 503 | } |
| 504 | |
| 505 | String& TrimLeft(bool AutoShrink = false) { |
| 506 | if (!Data.Length) return *this; |