gpt4 book ai didi

objective-c - 从 NSString 中动态附加和删除子字符串

转载 作者:行者123 更新时间:2023-11-28 18:13:30 24 4
gpt4 key购买 nike

我在 NSString 中动态添加和删除子字符串 -

在我追加使用的特定操作(我在添加新字符串时使用逗号分隔符)-

self.selectedString = [self.selectedString length] < 1 ? newSelectedString 
: [self.selectedString stringByAppendingFormat:@",%@",newSelectedString];

删除 -现在这个逗号在删除字符串时给我带来了问题。目前我正在为此使用一个解决方案 -

self.selectedString = [self.selectedString stringByReplacingOccurrencesOfString:newSelectedString
withString:@""];

NSRange rangeSingleComma = [self.selectedString rangeOfString:@","];
NSRange rangeDoubleComma = [self.selectedString rangeOfString:@",,"];
if (rangeSingleComma.location == [self.selectedString length] - 1) {
self.selectedString = [self.selectedString substringToIndex:[self.selectedString length] - 1];
}
if (rangeSingleComma.location == 0) {
self.selectedString = [self.selectedString substringFromIndex:1];
}
if (rangeDoubleComma.location != NSNotFound) {
self.selectedString = [self.selectedString stringByReplacingOccurrencesOfString:@",,"
withString:@","];
}

但这是一种非常肮脏的方法,任何人都可以为此提出一个好的方法。

最佳答案

你可以这样做

NSString *str = @"aaa,bbb,ccc";
NSMutableArray *arr = [[str componentsSeparatedByString:@","] mutableCopy];

int indexToRemove = -1;
for (int i = 0; i < arr.count; i++) {
NSString *string = [arr objectAtIndex:i];
if([string isEqualToString:@"aaa"])
{
indexToRemove = i;
break;
}
}

if(indexToRemove != -1)
{
[arr removeObjectAtIndex:indexToRemove];
}

NSString *newString = [arr componentsJoinedByString:@","];

关于objective-c - 从 NSString 中动态附加和删除子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11009366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com