首先獲得兩個字符串之間的字符串 -
-(NSString *)getSubString:(NSString *)string fromRangeOfString:(NSString *)rangeStr endWith:(NSString *)endStr{
NSString *param = @"";
NSRange start = [string rangeOfString:rangeStr];
if (start.location != NSNotFound)
{
param = [string substringFromIndex:start.location + start.length];
NSRange end = [param rangeOfString:endStr];
if (end.location != NSNotFound)
{
param = [param substringToIndex:end.location];
}
}
return param;
}
現在STR1包含@「讓我們做一個快速測試」,然後替換的單詞快速良好
NSString *str2 = [str1 stringByReplacingOccurrencesOfString:@"quick" withString:@"good"];
有一些蘋果提供更多的方法,幫助您更多的選擇,以取代
/*用指定範圍替換所有出現的目標字符串。指定的比較選項用於匹配目標。如果指定了NSRegularExpressionSearch,則將替換視爲模板,如同在相應的NSRegularExpression方法中一樣,除NSCaseInsensitiveSearch和NSAnchoredSearch之外,不能應用其他選項。 */
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement options:(NSStringCompareOptions)options range:(NSRange)searchRange NS_AVAILABLE(10_5, 2_0);
/*替換目標字符串替換所有出現。用0個選項和整個字符串的範圍調用上述方法。 */
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement NS_AVAILABLE(10_5, 2_0);
/*範圍內用指定的字符串替換的字符,返回新的字符串。 */
- (NSString *)stringByReplacingCharactersInRange:(NSRange)range withString:(NSString *)replacement NS_AVAILABLE(10_5, 2_0);
XMLWriter的*的XmlWriter = [[XMLWriter的頁頭] INIT];
// start writing XML elements
[xmlWriter writeStartElement:@"font"];
[xmlWriter writeCharacters:str2];
[xmlWriter writeEndElement];
謝謝, 希望這可以幫助你。
你可以使用一個'NSRegularExpression'來實現,模式可能是這樣的:'([。\ s \ S] *?)<\/font>'? – Larme
這可以做到這一點:'NSError * errorRegex = nil; NSRegularExpression * regex = [NSRegularExpression regularExpressionWithPattern:@「(([。\\ s \\ S] *?))(quick)(([。\\ s \\ S] *?)<\\/font>)」options:NSRegularExpressionCaseInsensitive error :&errorRegex]; [regex replaceMatchesInString:str選項:0範圍:NSMakeRange(0,[str length])withTemplate:@「$ 1good $ 4」];'' – Larme