2017-09-28 3 views
-4

Ich bin neu in der Swift-Programmierung. Ich würde gerne fragen, ob jemand mir helfen kann, nur alphanumerische Teilstrings von einem String zurückzugeben.Wie gibt man nur alphanumerische Teilstrings zurück?

Beispiel:

Input = "Wolf & Löwe"
Output = "wolflion"

Ich frage mich, ob es eine Lösung neben regex ist.
Danke

Antwort

1

versuchen Sie dies:

let outputStr = "wolf & lion".components(separatedBy: CharacterSet.alphanumerics.inverted) 
       .joined() 
print(outputStr)//wolflion 
+1

Thank you! Diese Antwort funktioniert. Und mit der geringsten Codezeile –

0
var a = "abs1 2csd^[email protected]" 
let b = a.characters.map { (char) -> String in 
    if let charRange = String(char).rangeOfCharacter(from: CharacterSet.alphanumerics) { 
     return String(char) 
    } else { 
     return "" 
    } 
}.joined() 

//OR use unicode scalar 
let c = a.unicodeScalars.map { (char) -> String in 
    if CharacterSet.alphanumerics.contains(char) { 
     return String(char) 
    } else { 
     return "" 
    } 
}.joined() 

Ausgang: abs12csdawerqwe

0

Bitte überprüfen Sie:

let str = "wolf & lion" 
let charset = str.trimmingCharacters(in: CharacterSet.alphanumerics) 
let alphanumericString = str.components(separatedBy: charset).joined(separator: "") 
print(alphanumericString) // wolflion 
Verwandte Themen