我有一个带有一些我要删除的文本的NSString,这是我要从NSString中删除的文本:
Textid="more-98989">
该号码可以更改为另一个号码。
有什么办法吗?我需要正则表达式吗?
答案 0 :(得分:1)
你绝对可以用正则表达式做到这一点,但你也可以轻松地做到这一点。找到要删除的字符串的初始部分,然后从">
的位置搜索结束Textid="
。这将为您提供需要删除的字符范围。
NSString *myString = "Blah blah Textid="more-98989"> More stuff";
NSString *res = nil;
NSRange start = [myString rangeOfString:@"Textid=\""];
if (start.location != NSNotFound) {
NSRange end = [myString rangeOfString:@"\">" withOptions:NSLiteralSearch range:NSMakeRange(start.Location+1, myString.length-start.location-1)];
if (end.location != NSNotFound) {
res = [myString stringByReplacingCharactersInRange:NSMakeRange(start.location, end.location-start.location+2) withString:@""];
}
}
if (!res) {
// Starting or ending tags were not found
res = myString;
}
答案 1 :(得分:0)
编辑
要从其他字符串中删除此字符串,请使用:
NSString *stringToRemove = [NSString stringWithFormat:@"more-%@", dynamicNumber];
NSString *newString = [bigString stringByReplacingOccurrencesOfString:stringToRemove
withString:@""];