Extensions.swift 769 B

123456789101112131415161718192021222324252627282930313233343536
  1. //
  2. // Extensions.swift
  3. // SwiftyBeaver
  4. //
  5. // Created by Sebastian Kreutzberger on 13.12.17.
  6. // Copyright © 2017 Sebastian Kreutzberger. All rights reserved.
  7. //
  8. import Foundation
  9. extension String {
  10. /// cross-Swift compatible characters count
  11. var length: Int {
  12. return self.count
  13. }
  14. /// cross-Swift-compatible first character
  15. var firstChar: Character? {
  16. return self.first
  17. }
  18. /// cross-Swift-compatible last character
  19. var lastChar: Character? {
  20. return self.last
  21. }
  22. /// cross-Swift-compatible index
  23. func find(_ char: Character) -> Index? {
  24. #if swift(>=5)
  25. return self.firstIndex(of: char)
  26. #else
  27. return self.index(of: char)
  28. #endif
  29. }
  30. }