String

struct String
  • Creates a string containing the given ‘StaticString’.

    Declaration

    Swift

    public init(staticString: StaticString)
  • Mechanica

    Returns a new string containing the first character of the String.

    Declaration

    Swift

    public var first: String
  • Mechanica

    Checks if all of the characters in a string are all the same.

    Declaration

    Swift

    public var isHomogeneous: Bool
  • Mechanica

    Returns true if all the characters are lowercased.

    Declaration

    Swift

    public var isLowercased: Bool
  • Mechanica

    Returns true, if all characters are uppercased. Otherwise, false.

    Declaration

    Swift

    public var isUppercased: Bool
  • Mechanica

    Returns a new string containing the last character of the String.

    Declaration

    Swift

    public var last: String
  • Mechanica

    Returns the length of the String.

    Declaration

    Swift

    public var length: Int
  • Mechanica

    Returns a new String with the center-padded version of self if it’s shorter than length using a token. Padding characters are truncated if they can’t be evenly divided by length.

    Example 1:

    let string = "Hello World"
    string.padding(length: 15) -> "  Hello World  "
    

    Example 2:

    let string = "Hello World"
    string.padding(length: 15, withToken: "*") -> "**Hello World**"
    

    Note

    If the the sum-total of characters added is odd, the left side of the string will have one less instance of the token.

    Declaration

    Swift

    public func padding(length: Int, with token: String = " ") -> String

    Return Value

    The padded copy of the string.

  • Mechanica

    Pads self on the left and right sides if it's shorter thanlengthusing atoken`. Padding characters are truncated if they can’t be evenly divided by length.

    Example 1:

    let string = "Hello World"
    string.pad(length: 15) -> "  Hello World  "
    

    Example 2:

    let string = "Hello World"
    string.pad(length: 15, withToken: "*") -> "**Hello World**"
    

    Note

    If the the sum-total of characters added is odd, the left side of the string will have one less instance of the token.

    Declaration

    Swift

    public mutating func pad(length: Int, with token: String = " ")
  • Mechanica

    Returns a new String with the left-padded version of self if it’s shorter than length using a token. Padding characters are truncated if they can’t be evenly divided by length.

    Example 1:

    let string = "Hello World"
    string.paddingStart(length: 15) -> "    Hello World"
    

    Example 2:

    let string = "Hello World"
    string.paddingStart(length: 15, withToken: "*") -> "****Hello World"
    

    Declaration

    Swift

    public func paddingStart(length: Int, with token: String = " ") -> String

    Return Value

    The left-padded copy of the string.

  • Mechanica

    Pads self on the left side if it’s shorter than length using a token. Padding characters are truncated if they exceed length.

    Example 1:

    let string = "Hello World"
    string.padStart(length: 15) -> "    Hello World"
    

    Example 2:

    let string = "Hello World"
    string.padStart(length: 15, withToken: "*") -> "****Hello World"
    

    Declaration

    Swift

    public mutating func padStart(length: Int, with token: String = " ")
  • Mechanica

    Returns a new String with the right-padded version of self if it’s shorter than length using a token. Padding characters are truncated if they can’t be evenly divided by length.

    Example 1:

    let string = "Hello World"
    string.paddingEnd(length: 15) -> "Hello World    "
    

    Example 2:

    let string = "Hello World"
    string.paddingEnd(length: 15, withToken: "*", ) -> "Hello World****"
    

    Declaration

    Swift

    public func paddingEnd(length: Int, with token: String = " ") -> String

    Return Value

    The right-padded copy of the string.

  • Mechanica

    Pads self on the right side if it’s shorter than length using a token. Padding characters are truncated if they exceed length.

    Example 1:

    let string = "Hello World"
    string.padEnd(length: 15) -> "Hello World    "
    

    Example 2:

    let string = "Hello World"
    string.padEnd(length: 15, withToken: "*", ) -> "Hello World****"
    

    Declaration

    Swift

    public mutating func padEnd(length: Int, with token: String = " ")
  • Mechanica*

    Returns a substring, up to maxLength in length, containing the initial elements of the String.

    Warning

    If maxLength exceeds self.count, the result contains all the elements of self.

    Declaration

    Swift

    public func prefix(maxLength: Int) -> String
  • Mechanica

    Returns a new String containing the characters of the String from the one at a given position to the end.

    Example:

    "hello".removingPrefix(upToPosition: 1) -> "ello"
    

    Declaration

    Swift

    public func removingPrefix(upToPosition: Int = 1) -> String
  • Mechanica

    Returns a new String removing the spcified prefix (if the string has it).

    Example:

    "hello".removingPrefix("hel") -> "lo"
    

    Declaration

    Swift

    public func removingPrefix(_ prefix: String) -> String
  • Mechanica

    Returns a new String containing the characters of the String up to, but not including, the one at a given position.

    Example:

    "hello".removingSuffix(fromPosition: 1) -> "hell"
    

    Declaration

    Swift

    public func removingSuffix(fromPosition: Int = 1) -> String
  • Mechanica

    Returns a new String removing the spcified suffix (if the string has it).

    Example:

    "hello".removingSuffix("0") -> "hell"
    

    Declaration

    Swift

    public func removingSuffix(_ suffix: String) -> String
  • Mechanica

    Reverse self.

    Declaration

    Swift

    public mutating func reverse()
  • Mechanica*

    Returns a slice, up to maxLength in length, containing the final elements of String.

    Warning

    If maxLength exceeds String character count, the result contains all the elements of String.

    Declaration

    Swift

    public func suffix(maxLength: Int) -> String
  • Mechanica*

    Truncates the String to the given length (number of characters) and appends optional trailing string if longer. The default trailing is the ellipsis (…).

    Declaration

    Swift

    public func truncate(at length: Int, withTrailing trailing: String? = "…") -> String
  • Mechanica

    Gets the character at the specified index as String.

    Example:

    let myString = "Hello world"
    myString[0] -> "H"
    myString[3] -> "l"
    myString[10] -> "d"
    myString[11] -> nil
    myString[-1] -> nil
    

    Declaration

    Swift

    public subscript (index: Int) -> Character?

    Return Value

    Character as String or nil if the index is out of bounds

  • Mechanica

    Returns a substring for the given range.

    Example:

    let myString = "Hello world"
    myString[0..<0] -> ""
    myString[0..<1] -> "Hello worl"
    myString[0..<10] -> "Hello world"
    myString[0..<11] -> nil
    myString[11..<14] -> nil
    myString[-1..<11] -> nil
    

    Declaration

    Swift

    public subscript (range: CountableRange<Int>) -> Substring?
  • Mechanica

    Returns a substring for the given range.

    Example:

    let myString = "Hello world"
    myString[0...0]
    myString[0...1]
    myString[0...10]
    myString[0...11]
    myString[11...14]
    myString[-1...11]
    

    Declaration

    Swift

    public subscript (range: CountableClosedRange<Int>) -> Substring?
  • Mechanica

    Returns a substring for the given range.

    Example:

    let myString = "Hello world"
    myString[0...0] -> "H"
    myString[0...1] -> "He"
    myString[0...10] -> "Hello world"
    myString[0...11] -> nil
    myString[11...14] -> nil
    myString[-1...11] -> nil
    

    Declaration

    Swift

    public subscript (range: PartialRangeUpTo<Int>) -> Substring?
  • Mechanica

    Declaration

    Swift

    public subscript(range: PartialRangeThrough<Int>) -> Substring?
  • Mechanica

    Returns a substring for the given range.

    Declaration

    Swift

    public subscript (range: CountablePartialRangeFrom<Int>) -> Substring?
  • Mechanica

    Returns a substring for the given range. Creates a new string representing the given string repeated the specified number of times.

    Declaration

    Swift

    public static func * (lhs: String, rhs: Int) -> String
  • Mechanica

    Returns a substring for the given range. Creates a new string representing the given string repeated the specified number of times.

    Declaration

    Swift

    public static func * (lhs: Int, rhs: String) -> String
  • Mechanica

    Returns a new string decoded from base64.

    Declaration

    Swift

    public var base64Decoded: String?
  • Mechanica

    Returns a new string encoded in base64.

    Declaration

    Swift

    public var base64Encoded: String?
  • Mechanica

    Returns a Bool value by parsing self.

    Example:

    "👍🏼".bool -> true
    "0".bool -> false
    

    Declaration

    Swift

    public var bool: Bool?
  • Mechanica

    Produces a new string with the first character of the first word changed to the corresponding uppercase value.

    Declaration

    Swift

    public func capitalizedFirstCharacter() -> String
  • Mechanica

    Condenses all white spaces repetitions in a single white space. White space at the beginning or ending of the String are trimmed out.

    Example:

    let aString = "test    too many    spaces"
    aString.removeExcessiveSpaces  -> test too many spaces
    

    Declaration

    Swift

    public func condensingExcessiveSpaces() -> String

    Return Value

    A new string where all white spaces repetitions are replaced with a single white space.

  • Mechanica*

    Condenses all white spaces and new lines repetitions in a single white space. White space and new lines at the beginning or ending of the String are trimmed out.

    Declaration

    Swift

    public func condensingExcessiveSpacesAndNewlines() -> String

    Return Value

    A new string where all white spaces and new lines repetitions are replaced with a single white space.

  • Mechanica

    Checks if self contains a String.

    Declaration

    Swift

    public func contains(_ string: String, caseSensitive: Bool) -> Bool

    Return Value

    true if contains match, otherwise false.

  • Mechanica

    Checks if if all the characters in the string belong to a specific CharacterSet.

    Declaration

    Swift

    public func containsCharacters(in characterSet: CharacterSet) -> Bool

    Return Value

    true if all the characters in the string belong to the CharacterSet, otherwise false.

  • Mechanica

    Produces a new string with the first character of the first word changed to the corresponding uppercase value.

    Declaration

    Swift

    public func decapitalizedFirstCharacter() -> String
  • Mechanica

    Returns true if self ends with a given suffix.

    Declaration

    Swift

    public func ends(with suffix: String, caseSensitive: Bool = true) -> Bool
  • Mechanica

    Makes sure that we always have a semantic version in the form MAJOR.MINOR.PATCH

    Declaration

    Swift

    public func ensureSemanticVersionCorrectness() -> String
  • Mechanica

    Returns a list containing the first character of each word contained in self.

    Declaration

    Swift

    public func firstCharacterOfEachWord() -> [String]
  • Mechanica

    Returns true if the String contains one or more letters.

    Declaration

    Swift

    public var hasLetters: Bool
  • Mechanica

    Returns true if the String contains one or more numbers.

    Declaration

    Swift

    public var hasNumbers: Bool
  • Mechanica

    Returns true if the String contains only letters.

    Declaration

    Swift

    public var isAlphabetic: Bool
  • Mechanica

    Returns true if the String contains at least one letter and one number.

    Declaration

    Swift

    public var isAlphaNumeric: Bool
  • Mechanica

    Checks if the String is blank (a string that is either empty or contains only space/newline characters).

    Declaration

    Swift

    public var isBlank: Bool
  • Mechanica

    Returns true if self is a country emoji flag.

    Note

    to check if a string contains a flag use: self.contains { $0.isFlag }

    Note

    to extrapolate the flags in a string use: self.filter { $0.isFlag }

    Declaration

    Swift

    public var isEmojiCountryFlag: Bool
  • Mechanica

    Checks if the String contains only numbers.

    Declaration

    Swift

    public var isNumeric: Bool
  • Mechanica

    Checks if self is a semantic version with a value equal to a given version.

    Declaration

    Swift

    public func isSemanticVersionEqual(to version: String) -> Bool
  • Mechanica

    Checks if self is a semantic version with a value greater than given version.

    Declaration

    Swift

    public func isSemanticVersionGreater(than version: String) -> Bool
  • Mechanica

    Checks if self is a semantic version with a value greater or equal to a given version.

    Declaration

    Swift

    public func isSemanticVersionGreaterOrEqual(to version: String) -> Bool
  • Mechanica

    Checks if self is a semantic version with a value lesser than a given version.

    Declaration

    Swift

    public func isSemanticVersionLesser(than version: String) -> Bool
  • Mechanica

    Checks if self is a semantic version with a value lesser or equal to a given version.

    Declaration

    Swift

    public func isSemanticVersionLesserOrEqual(to version: String) -> Bool
  • Mechanica

    Returns true if the String is a valid email.

    Declaration

    Swift

    public var isValidEmail: Bool
  • Mechanica

    Checks if string is a valid file URL.

    Example:

    "file://Documents/file.txt".isValidFileUrl -> true
    

    Declaration

    Swift

    public var isValidFileUrl: Bool
  • Mechanica

    Checks if string is a valid http URL.

    Example:

    "http://tinrobots.org".isValidHttpUrl -> true
    

    Declaration

    Swift

    public var isValidHttpUrl: Bool
  • Mechanica

    Checks if string is a valid https URL.

    Example:

    "https://tinrobots.org".isValidHttpsUrl -> true
    

    Declaration

    Swift

    public var isValidHttpsUrl: Bool
  • Mechanica

    Check if the String is a valid schemed URL.

    Example:

    "https://tinrobots.org".isValidSchemedUrl -> true
    "tinrobots.org".isValidSchemedUrl -> false
    

    Declaration

    Swift

    public var isValidSchemedUrl: Bool
  • Mechanica

    Checks if string is a valid URL.

    Example:

    "https://tinrobots.org".isValidUrl -> true
    

    Declaration

    Swift

    public var isValidUrl: Bool
  • Mechanica

    Generates a new random alphanumeric string of a given length (default 8).

    Declaration

    Swift

    public static func random(length: UInt32 = 8) -> String
  • Mechanica

    Returns a new String stripped of all accents and diacritics.

    Example:

    let string = "äöüÄÖÜ" -> ÄÖÜ
    let stripped = string.stripCombiningMarks -> aouAOU
    

    Declaration

    Swift

    public func removingAccentsOrDiacritics() -> String
  • Mechanica*

    Remove the characters in the given set.

    Declaration

    Swift

    public mutating func removeCharacters(in set: CharacterSet)
  • Mechanica*

    Returns a new String removing the characters in the given set.

    Declaration

    Swift

    public func removingCharacters(in set: CharacterSet) -> String
  • Mechanica

    Returns a new string in which all occurrences of a target are replaced by another given string.

    Declaration

    Swift

    public func replace(_ target: String, with replacement: String, caseSensitive: Bool = true) -> String
  • Mechanica

    Returns a new string in which the characters in a specified CountableClosedRange range of the String are replaced by a given string.

    Declaration

    Swift

    public func replacingCharacters(in range: CountableClosedRange<Int>, with replacement: String) -> String
  • Mechanica

    Returns a new string in which the characters in a specified CountableRange range of the String are replaced by a given string.

    Declaration

    Swift

    public func replacingCharacters(in range: CountableRange<Int>, with replacement: String) -> String
  • Mechanica

    Returns a new string in which the first occurrence of a target is replaced by another given string.

    Declaration

    Swift

    public func replacingFirstOccurrence(of string: String, with replacement: String) -> String
  • Mechanica

    If self is a semantic version, returns a tuple with major, minor and patch components.

    Declaration

    Swift

    public var semanticVersion: (Int, Int, Int)
  • Mechanica

    Returns true if self starts with a given prefix.

    Declaration

    Swift

    public func starts(with prefix: String, caseSensitive: Bool = true) -> Bool
  • Mechanica

    Removes spaces and new lines from both ends of `self.

    Declaration

    Swift

    public mutating func trim()
  • Mechanica*

    Returns a new String made by removing spaces and new lines from both ends.

    Declaration

    Swift

    public func trimmed() -> String
  • Mechanica*

    Strips the specified characters from the end of self.

    Declaration

    Swift

    public func trimmedEnd(characterSet set: CharacterSet = .whitespacesAndNewlines) -> String

    Return Value

    stripped string

  • Mechanica*

    Strips the specified characters from the beginning of self.

    Declaration

    Swift

    public func trimmedStart(characterSet set: CharacterSet = .whitespacesAndNewlines) -> String

    Return Value

    stripped string

  • Mechanica

    Returns a percent-escaped string following RFC 3986 for a query string key or value.

    Declaration

    Swift

    public var urlEscaped: String?
  • Mechanica*

    Returns a substring for a given NSRange.

    Declaration

    Swift

    public subscript (nsRange: NSRange) -> Substring?

    Return Value

    Substring in NSRange or nil.

  • Mechanica

    Returns the NSRange of self.

    Declaration

    Swift

    public var nsRange: NSRange
  • Mechanica

    Produces a camel cased version of the String.

    Example:

    let string = "HelloWorld"
    string.camelCased() -> "helloWorld"
    

    Declaration

    Swift

    public func camelCased() -> String

    Return Value

    A camel cased copy of the String.

  • Mechanica

    Produces the kebab cased version of the String.

    Example:

    let string = "Hello World"
    string.kebabCased() -> "-Hello-World-"
    

    Declaration

    Swift

    public func kebabCased() -> String

    Return Value

    The kebab cased copy of the String.

  • Mechanica

    Produces a pascal cased version of the String.

    Example:

    let string = "HELLO WORLD"
    string.pascalCased() -> "HelloWorld"
    

    Declaration

    Swift

    public func pascalCased() -> String

    Return Value

    A pascal cased copy of the String.

  • Mechanica

    Produces the slug version of the String.

    Example:

    let string = "Hello World"
    string.slugCased() -> "Hello-World"
    

    Declaration

    Swift

    public func slugCased() -> String

    Return Value

    The slug copy of the String.

  • Mechanica

    Produces the snake cased version of the String.

    Example:

    let string = "hello world"
    string.snakeCased()  -> "hello_world"
    

    Declaration

    Swift

    public func snakeCased() -> String

    Return Value

    The slug copy of the String.

  • Mechanica

    Produces the swap cased version of the String.

    Example:

    let string = "Hello World"
    string.swapCased() -> "hELLO wORLD"
    

    Declaration

    Swift

    public func swapCased() -> String

    Return Value

    The swap cased copy of the String.

  • Mechanica

    Returns a new string made by appending to the receiver a given string.

    Declaration

    Swift

    public func appendingPathComponent(_ path: String) -> String
  • Mechanica

    Returns a new string made by appending to the receiver an extension separator followed by a given extension.

    Declaration

    Swift

    public func appendingPathExtension(_ ext: String) -> String?
  • Mechanica

    Returns a new string made by deleting the last path component from the receiver, along with any final path separator.

    Note

    This method only works with file paths (not, for example, string representations of URLs).

    Declaration

    Swift

    public var deletingLastPathComponent: String
  • Mechanica

    Returns a new string made by deleting the extension (if any, and only the last) from the receiver.

    Declaration

    Swift

    public var deletingPathExtension: String
  • Mechanica

    Returns the last path component of the receiver.

    Note

    This method only works with file paths (not, for example, string representations of URLs).

    Declaration

    Swift

    public var lastPathComponent: String
  • Mechanica

    Returns the file-system path components of the receiver.

    Declaration

    Swift

    public var pathComponents: [String]
  • Mechanica

    Return the path extension, if any, of the string as interpreted as a path.

    Note

    This method only works with file paths (not, for example, string representations of URLs).

    Declaration

    Swift

    public var pathExtension: String
  • Mechanica

    Declaration

    Swift

    public func firstMatch(for pattern: String, options: NSRegularExpression.Options = []) -> String?

    Return Value

    The first match of the regular expression within self.

  • Mechanica

    Declaration

    Swift

    public func firstRange(matching pattern: String, options: NSRegularExpression.Options = []) -> Range<String.Index>?

    Return Value

    The first match’s range of the regular expression within self.

  • Mechanica

    Declaration

    Swift

    public func matches(for pattern: String, options: NSRegularExpression.Options = []) -> [String]

    Return Value

    A list of matched strings for self.

  • Mechanica

    Declaration

    Swift

    public func ranges(matching pattern: String, options: NSRegularExpression.Options = []) -> [Range<String.Index>]

    Return Value

    A list of matched ranges for self.