我有一个 NSString,其中包含一些我想删除的文本,这是我想从 NSString 中删除的文本:
Textid="more-98989">
该号码可以更改为另一个号码。
有什么办法吗?我需要正则表达式吗?
我有一个 NSString,其中包含一些我想删除的文本,这是我想从 NSString 中删除的文本:
Textid="more-98989">
该号码可以更改为另一个号码。
有什么办法吗?我需要正则表达式吗?
你绝对可以用正则表达式来做,但你也可以很容易地不用它。找到要删除的字符串的初始部分,然后">
从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;
}
编辑
要从不同的字符串中删除此字符串,请使用:
NSString *stringToRemove = [NSString stringWithFormat:@"more-%@", dynamicNumber];
NSString *newString = [bigString stringByReplacingOccurrencesOfString:stringToRemove
withString:@""];