2011-03-21 52 views
0

當我通過以下方法轉換我的數組時,它添加()charracter。如何刪除()字符

我想刪除()我怎麼能做到這一點..

NSMutableArray *rowsToBeDeleted = [[NSMutableArray alloc] init]; 

NSString *postString = 
[NSString stringWithFormat:@"%@", 
rowsToBeDeleted]; 

int index = 0; 

for (NSNumber *rowSelected in selectedArray) 
{ 
    if ([rowSelected boolValue]) 
    { 
    profileName = [appDelegate.archivedItemsList objectAtIndex:index]; 
    NSString *res = [NSString stringWithFormat:@"%d",profileName.userID]; 
    [rowsToBeDeleted addObject:res]; 
    } 
    index++; 
} 

更新 - 1 當我打印我的陣列就這樣表示

( 70, 71,)

+0

什麼是你的數組?因爲我沒有看到這個代碼中會添加它的任何東西。嘗試NSLogging數組在開始準確地看到哪些項目在,然後我們知道它是否已經在數組中或稍後添加。 – 2011-03-21 08:33:12

回答

1

下面是從字符串中刪除給定字符的簡短示例。

NSString *someString = @"(whatever)"; 
NSCharacterSet *charSet = [NSCharacterSet characterSetWithCharactersInString:@"()"]; 
NSMutableString *mutableCopy = [NSMutableString stringWithString:someString]; 
NSRange range; 
for (range = [mutableCopy rangeOfCharacterFromSet:charSet]; 
    range.location != NSNotFound; 
    [mutableCopy deleteCharactersInRange:range], 
    range = [mutableCopy rangeOfCharacterFromSet:charSet]); 

這一切確實是得到字符串的可變副本,建立一個字符與任何及所有文字設置爲從字符串剝離,並找到從可變副本中刪除這些字符的每個實例。這可能不是最乾淨的方式(我不知道最清潔的是什麼) - 顯然,你也可以選擇使用Ziminji的方式。此外,我濫用for循環的地獄。無論如何,這會從字符串中刪除一些字符,並且非常簡單。

1

嘗試使用NSArray的componentsJoinedByString方法您的陣列轉換爲字符串:

[rowsToBeDeleted componentsJoinedByString:@", "]; 
0

您得到圓括號的原因是因爲您正在調用NSArray類的toString方法。因此,這聽起來像你只是想子串字符串結果。爲此,您可以使用如下功能:

+ (NSString *) extractString: (NSString *)string prefix: (NSString *)prefix suffix: (NSString *)suffix { 
    int strLength = [string length]; 
    int begIndex = [prefix length]; 
    int endIndex = strLength - (begIndex + [suffix length]); 
    if (endIndex > 0) { 
     string = [string substringWithRange: NSMakeRange(begIndex, endIndex)]; 
    } 
    return string; 
}