commit a7a6eee1d3c874f8ee3381d5432569dd6dbe9e17 parent e3173dd266df1460ac273373aca839a73042f2bc Author: Marc Stibane <marc@taler.net> Date: Wed, 26 Jun 2024 14:55:14 +0200 fix string replace Diffstat:
| M | TalerWallet1/Helper/TalerStrings.swift | | | 47 | ++++++++++++++++++++++++++++++++++++++++++----- |
1 file changed, 42 insertions(+), 5 deletions(-)
diff --git a/TalerWallet1/Helper/TalerStrings.swift b/TalerWallet1/Helper/TalerStrings.swift @@ -39,15 +39,52 @@ extension StringProtocol { } } +extension Data { + public var bytes: [UInt8] { + return [UInt8](self) + } +} + extension String { - func replacingOccurrences(of char1: String.Element, with char2: String.Element) -> String { + + public var bytes: String { + var result: String = "" + for k in self.utf8 { + result += String(k) + result += " " + } + return result + } +// func replacingOccurrences(of char1: String.Element, with char2: String.Element) -> String { +// String(self.map { +// $0 == char1 ? char2 : $0 +// }) +// } + + func replacingOccurrences(of str1: String, with str2: String) -> String { + let fragments = self.components(separatedBy: str1) + if fragments.count > 1 { + return fragments.joined(separator: str2) + } +// if let index = self.index(of: str1) { +// if let endIndex = self.endIndex(of: str1) { +// let substring1 = self[..<index] +// let substring2 = self[endIndex...] +// return substring1 + str2 + substring2 +// } +// } + return self + } + + var spaced: String { String(self.map { - $0 == char1 ? char2 : $0 + $0 == NONBREAKING ? " " : $0 }) } - - func nbs() -> String { - self.replacingOccurrences(of: " ", with: NONBREAKING) + var nbs: String { + String(self.map { + $0 == " " ? NONBREAKING : $0 + }) } func tabbed(oneLine: Bool) -> String {