2016-08-13 6 views
0

Ich habe eine sehr lange Zeichenfolge und es enthält einige Informationen, die ich nicht möchte. Zum Beispiel hat es immer wieder so etwas wie:ios SubStrings mit einem Muster ersetzen

"<span class=/"phrasedesc/">....some text......</span phrasedesc>",

und ich möchte alle entferne der Teil mit "<span class=/"phrasedesc/">" beginnen und endet mit "</span phrasedesc>", egal, was dazwischen liegt.

Jeder kann mir dabei helfen? Vielen Dank.

Antwort

1

Versuchen Sie es, es funktionierte für mich. :)

SWIFT:

let re = try! NSRegularExpression(pattern: "(.*)(《span class=\"phrasedesc\"》.*《\\/span phrasedesc》)(.*)", options: .AnchorsMatchLines) 

let stringToMatch = "adfasdfasdf《span class=\"phrasedesc\"》ajshdfljkahsdkjf 《/span phrasedesc》asdfasdfasdfasdf" 

let matches = re.matchesInString(stringToMatch, options: .WithTransparentBounds , range: NSRange(location: 0, length: stringToMatch.characters.count)) 

re.stringByReplacingMatchesInString(stringToMatch, options: .ReportCompletion, range: NSMakeRange(0, stringToMatch.characters.count), withTemplate: "$1$3") 

ZIEL - C:

NSString *stringToBeTrimmed = @"adfasdfasdf《span class=\"phrasedesc\"》ajshdfljkahsdkjf 《/span phrasedesc》asdfasdfasdfasdf"; 

    NSString *pattern = @"(.*)(《span class=\"phrasedesc\"》.*《\\/span phrasedesc》)(.*)"; 

    NSRegularExpression *expression = [[NSRegularExpression alloc] initWithPattern:pattern options:NSRegularExpressionAnchorsMatchLines error:nil]; 

    NSString * yourResultingString = [expression stringByReplacingMatchesInString:stringToBeTrimmed options:NSMatchingReportCompletion range:NSMakeRange(0, stringToBeTrimmed.length) withTemplate:@"$1$3"]; 
+0

sein kann u es in OC plz – user2053760

+0

dies schreibe funktioniert nur, wenn das Muster auftritt onces. Wenn es viele Vorkommen dieses Musters gibt, möchte ich alle entfernen, aber das hat funktioniert. – user2053760

+0

Dude, du machst etwas falsch, ich habe mehrere Saiten getestet. Das funktioniert. – Harsh

-1

stringByReplacingOccurrencesOfString mit Bedenken Sie:

Swift:

let originalString = "<span class=\"phrasedesc\">....some text......</span phrasedesc>" 
let newString = originalString.stringByReplacingOccurrencesOfString("<span class=\"phrasedesc\">", withString: "") 
let newString = newString.stringByReplacingOccurrencesOfString("</span phrasedesc>", withString: "") 

Objective-C:

NSString *originalString = @"<span class=\"phrasedesc\">....some text......</span phrasedesc>"; 
newString = [originalString stringByReplacingOccurrencesOfString:@"<span class=\"phrasedesc\">" withString:@""]; 
newString = [newString stringByReplacingOccurrencesOfString:@"</span phrasedesc>" withString:@""]; 

Das Ergebnis newString == "....some text......"

+0

Was ich will ist, entfernen Sie den gesamten Teilstring einschließlich ..... etwas Text ..... Teil – user2053760