我有一个非常长的字符串,它包含一些我不想要的信息。例如,它经常有类似的东西:
"<span class=/"phrasedesc/">....some text......</span phrasedesc>"
,
我希望删除以"<span class=/"phrasedesc/">"
开头的所有子字符串,并以"</span phrasedesc>"
结尾,无论它们之间是什么。
任何人都可以帮我这个吗?谢谢。
答案 0 :(得分:1)
试试这个,它对我有用。 :)
(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")
目标 - 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"];
答案 1 :(得分:-1)
考虑使用stringByReplacingOccurrencesOfString
:
<强>夫特:强>
let originalString = "<span class=\"phrasedesc\">....some text......</span phrasedesc>"
let newString = originalString.stringByReplacingOccurrencesOfString("<span class=\"phrasedesc\">", withString: "")
let newString = newString.stringByReplacingOccurrencesOfString("</span phrasedesc>", withString: "")
<强>目标-C:强>
NSString *originalString = @"<span class=\"phrasedesc\">....some text......</span phrasedesc>";
newString = [originalString stringByReplacingOccurrencesOfString:@"<span class=\"phrasedesc\">" withString:@""];
newString = [newString stringByReplacingOccurrencesOfString:@"</span phrasedesc>" withString:@""];
结果将为newString == "....some text......"