String.swift 971 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. //
  2. // String.swift
  3. // app
  4. //
  5. // Created by Iñigo Valentin on 2/1/17.
  6. // Copyright © 2017 Margolariak. All rights reserved.
  7. //
  8. import Foundation
  9. extension String {
  10. var length:Int {
  11. return self.characters.count
  12. }
  13. func indexOf(target: String) -> Int? {
  14. let range = (self as NSString).range(of: target)
  15. guard range.toRange() != nil else {
  16. return nil
  17. }
  18. return range.location
  19. }
  20. func lastIndexOf(target: String) -> Int? {
  21. let range = (self as NSString).range(of: target, options: NSString.CompareOptions.backwards)
  22. guard range.toRange() != nil else {
  23. return nil
  24. }
  25. return self.length - range.location - 1
  26. }
  27. func contains(s: String) -> Bool {
  28. return (self.range(of: s) != nil) ? true : false
  29. }
  30. func subStr(start: Int, end: Int) -> String{
  31. let st = self.index(self.startIndex, offsetBy: start)
  32. var ed = self.index(self.startIndex, offsetBy: end)
  33. let range = st...ed
  34. return self[range]
  35. }
  36. }