【问题标题】:How can I change substring(s) in an array of strings in Objective-C?如何在 Objective-C 中更改字符串数组中的子字符串?
【发布时间】:2020-05-19 01:25:48
【问题描述】:

我在解码& 符号时遇到了一个奇怪的错误,所以它总是显示为&,所以&& 将是&&a&b 显示为a&b 等等。

有时我的字符串数组中有那些奇怪的字符,所以我想删除它们。更清楚地说,如果我有这样的数组:

"str1", "a&b", "12345", "d&&emo&"

我希望它是:

"str1", "a&b", "12345", "d&&emo&"

所以所有的& 都应该改成&

这是我尝试过的代码,但没有帮助。元素不会改变它们的值:

for (int i = 0; i <= self.array-1; i++)
{
    NSLog(@"%@", self.array[i]);
    [self.array[i] stringByReplacingOccurrencesOfString:@"&amp;" withString:@"&"];
    NSLog(@"%@", self.array[i]);
}

我是 Objective-C 的新手。

【问题讨论】:

    标签: ios arrays objective-c


    【解决方案1】:

    NSString 实例是不可变的,这意味着它们一旦创建就无法更改。 stringByReplacingOccurencesOfString:withString: 方法实际上返回一个新的 NSString 实例。您可以使用NSMutableString,或者,您可以创建一个包含替换字符串的新数组,例如:

    NSMutableArray *newArray = [NSMutableArray array];
    for (NSString *input in self.array)
    {
        NSString *replacement = [input stringByReplacingOccurrencesOfString:@"&amp;" withString:@"&"];   
        [newArray addObject:replacement];
    }
    
    self.array = newArray;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-23
      • 2014-01-16
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多