Files
MonsterCards/MonsterCards/Helpers/StringHelper.swift

51 lines
1.4 KiB
Swift

//
// StringHelper.swift
// MonsterCards
//
// Created by Tom Hicks on 3/21/21.
//
import Foundation
class StringHelper {
static func oxfordJoin(
_ strings: [String],
_ separator: String = ", ",
_ lastSeparator: String = ", and ",
_ onlySeparator: String = " and "
) -> String {
let numStrings = strings.count
if (numStrings < 1) {
return "";
} else if (numStrings == 2) {
return strings[0] + onlySeparator + strings[1]
} else {
var joined = ""
var index = 0
let lastIndex = numStrings - 1
strings.forEach {
if index > 0 && index < lastIndex {
joined.append(separator)
} else if (index > 0 && index >= lastIndex) {
joined.append(lastSeparator)
}
joined.append($0)
index = index + 1
}
return joined
}
}
static func safeContainsCaseInsensitive(_ str: String?, _ match: String) -> Bool {
guard let str = str else { return false }
return str.localizedCaseInsensitiveContains(match)
}
static func safeEqualsIgnoreCase(_ str: String?, _ match: String) -> Bool {
guard let str = str else { return false }
return str.lowercased() == match.lowercased()
}
}