Objective c 将NSMutableString添加到NSArray

Objective c 将NSMutableString添加到NSArray,objective-c,string,Objective C,String,向数组中添加可变字符串(已使用ReplaceCurrenceSofString更改)时遇到一些问题。这与我提出的另一个问题有关: 这是密码 //original String NSString *aString = @"\"Hello World\""; NSLog(@"Original String: %@",aString); //craete mutable copy NSMutableString *mString = [aString mutableCopy]; //remove

向数组中添加可变字符串(已使用ReplaceCurrenceSofString更改)时遇到一些问题。这与我提出的另一个问题有关:

这是密码

//original String
NSString *aString = @"\"Hello World\"";
NSLog(@"Original String: %@",aString);

//craete mutable copy
NSMutableString *mString = [aString mutableCopy];

//remove quotes
[mString replaceOccurrencesOfString:@"\"" withString:@"" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [aString length])];
NSLog(@"Mutable String: %@",mString);   

//add to an array
NSArray *anArray = [NSArray arrayWithObject:mString];
NSLog(@"anArray: %@",anArray);
结果是:

2010-01-25 09:01:15.644 Quotes[20058:a0f] Original String: "Hello World"
2010-01-25 09:01:15.662 Quotes[20058:a0f] Mutable String: Hello World
2010-01-25 09:01:15.663 Quotes[20058:a0f] anArray: (
"Hello World"
)
a
如您所见,该字符串已从mString中的引号中删除,但当它添加到数组中时,它仍然具有双引号。有什么想法吗?

这是因为字符串中有一个空格,因此数组用引号将其括起来,以确保您理解这两个单词是同时出现的。如果将字符串从数组中拉出并搜索双引号,则不会找到任何双引号

如果字符串中仍有引号,并且要用引号括起来的字符串记录数组,则该字符串如下所示:

2010-01-25 10:14:37.818 EmptyFoundation[4131:a0f] (
    "\"Hello world!\""
)

这是因为字符串中有一个空格,所以数组用引号将其括起来,以确保您理解这两个单词是同时出现的。如果将字符串从数组中拉出并搜索双引号,则不会找到任何双引号

如果字符串中仍有引号,并且要用引号括起来的字符串记录数组,则该字符串如下所示:

2010-01-25 10:14:37.818 EmptyFoundation[4131:a0f] (
    "\"Hello world!\""
)

我很确定你唯一能看到的

2010-01-25 09:01:15.663 Quotes[20058:a0f] anArray: (
"Hello World"
)
因为您正在打印阵列的描述-请尝试

NSLog(@"The string is: %@", [anArray objectAtIndex:0])
我很有信心它会回来的

The string is : Hello World

我很确定你唯一能看到的

2010-01-25 09:01:15.663 Quotes[20058:a0f] anArray: (
"Hello World"
)
因为您正在打印阵列的描述-请尝试

NSLog(@"The string is: %@", [anArray objectAtIndex:0])
我很有信心它会回来的

The string is : Hello World

谢谢,我一直在绞尽脑汁想为什么这些引语还在那里!谢谢,我一直在绞尽脑汁想为什么这些引语还在那里!