2017-07-25 2 views
1

Ich habe eine Zeichenfolge und Teilzeichenfolge (http) und ich möchte diese Teilzeichenfolge ersetzen, aber ich weiß nicht, wann diese Teilzeichenfolge enden wird. Ich meine, ich will es überprüfen, bis ein Platz nicht kommt und danach möchte ich ihn ersetzen. Ich überprüfe, ob, wenn meine Zeichenfolge http enthält, die auch eine Zeichenfolge ist, dann möchte ich es ersetzen, wenn Speicherplatz kommt.Wie ersetzt man einen Teilstring mit einem Link (http) in swift 3?

Hier unten ist mein Beispiel: -

let string = "Hello.World everything is good http://www.google.com By the way its good". 

Das ist mein String Es dynamisch sein kann auch ich in diesem oben Zeichenfolge http bedeuten, dass es ist, so will ich „http://www.google.com“ auf „Website“ ersetzen. So wäre es

string = "Hello.World everything is good website By the way its good" 

Antwort

4

Eine mögliche Lösung ist Regular Expression

Das Muster sein sucht nach http:// oder https:// gefolgt einem oder mehreren Nicht-Leerzeichen bis zu einer Wortgrenze.

let string = "Hello.World everything is good http://www.google.com By the way its good" 
let trimmedString = string.replacingOccurrences(of: "https?://\\S+\\b", with: "website", options: .regularExpression) 
print(trimmedString) 
+0

Ich war gerade dabei, dies zu veröffentlichen, aber mit dem regulären Ausdruck von "https?: // [^] *" '. Dies ermöglicht sowohl http als auch https. – rmaddy

+0

Danke für die Verbesserung. Ich habe die 's hinzugefügt?' – vadian

+0

OK Danke. Noch eine Sache ist vor https Ich möchte "Website" hinzufügen und ich möchte "http" Zeug halten? – kishor0011

1

Teilen Sie jedes Wort, ersetzen und verbinden zurück sollte dies lösen.

// split into array 
let arr = string.components(separatedBy: " ") 

// do checking and join 
let newStr = arr.map { word in 
    return word.hasPrefix("http") ? "website" : word 
}.joined(separator: " ") 

print(newStr) 
Verwandte Themen