Ich suche nach einer Möglichkeit, Zeichen in einem Swift String
zu ersetzen.
Beispiel: "Das ist mein String"
Ich würde gerne " " durch "+" ersetzen, um "Das+ist+mein+String" zu erhalten.
Wie kann ich das erreichen?
Ich suche nach einer Möglichkeit, Zeichen in einem Swift String
zu ersetzen.
Beispiel: "Das ist mein String"
Ich würde gerne " " durch "+" ersetzen, um "Das+ist+mein+String" zu erhalten.
Wie kann ich das erreichen?
Ab iOS 16
könnte wir die neue Methode auf RangeReplaceableCollection
replace(_:with:maxReplacements:)
verwenden, die Regex
als Parameter verwendet, wo wir unsere Anfrage anpassen können.
var myString = "This is my string"
myString.replace(" ", with: "+")
Vergiss aber nicht, import RegexBuilder
zu aktivieren, um dies zu ermöglichen
Swift Erweiterung:
extension String {
func stringByReplacing(replaceStrings set: [String], with: String) -> String {
var stringObject = self
for string in set {
stringObject = self.stringByReplacingOccurrencesOfString(string, withString: with)
}
return stringObject
}
}
Gehen Sie weiter und verwenden Sie es wie let replacedString = yorString.stringByReplacing(replaceStrings: [" ","?","."], with: "+")
Die Geschwindigkeit der Funktion ist etwas, worauf ich nicht sehr stolz sein kann, aber Sie können ein Array von String
in einem Durchgang übergeben, um mehr als einen Ersatz durchzuführen.
Ich denke, Regex ist der flexibelste und solide Weg:
var str = "This is my string"
let regex = try! NSRegularExpression(pattern: " ", options: [])
let output = regex.stringByReplacingMatchesInString(
str,
options: [],
range: NSRange(location: 0, length: str.characters.count),
withTemplate: "+"
)
// output: "This+is+my+string"
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.