iPhone从字符串中删除子字符串

Mad*_*ddy 27 cocoa-touch nsstring

嗨,我有一个这样的字符串

NSString *str=@"1,2,3,4";
Run Code Online (Sandbox Code Playgroud)

我必须动态删除任何字符.

对于前@"3"

son*_*rxo 85

NSString *str=@"1,2,3,4";
[str stringByReplacingOccurrencesOfString:@"3," withString:@""];
Run Code Online (Sandbox Code Playgroud)

这将删除所有出现的@"3" str.

如果您只想删除第一次出现的@"3",:

NSString* str = @"1,2,3,4";
NSRange replaceRange = [str rangeOfString:@"3,"];
if (replaceRange.location != NSNotFound){
    NSString* result = [str stringByReplacingCharactersInRange:replaceRange withString:@""];
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.

  • 只有当您知道要删除的项目在列表中的中途时,这才有效.例如,如果要删除数字4,则必须知道它位于列表的末尾并且没有尾随逗号,因此将"4"替换为""而不是"4". (2认同)

Sur*_*rma 6

  NSString *str=@"1,2,3,4";
  int numberToRemove = 4;

 str = [str stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%d",numberToRemove] withString:@""];
 str = [str stringByReplacingOccurrencesOfString:@",," withString:@","];
Run Code Online (Sandbox Code Playgroud)

这会有所帮助.

  • 这解决了我对@sonxurxo回答的问题. (2认同)