gpt4 book ai didi

Objective-C 字符串替换

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:02 26 4
gpt4 key购买 nike

我想在 Objective-C 中替换我的字符串中的多个元素。

在 PHP 中你可以这样做:

str_replace(array("itemtoreplace", "anotheritemtoreplace", "yetanotheritemtoreplace"), "replacedValue", $string);

但是在 objective-c 中,我知道的唯一方法是 NSString replaceOccurancesOfString。有什么有效的方法可以替换多个字符串吗?

这是我目前的解决方案(非常低效而且......嗯......长)

NSString *newTitle = [[[itemTitleField.text stringByReplacingOccurrencesOfString:@"'" withString:@""] stringByReplacingOccurrencesOfString:@" " withString:@"'"] stringByReplacingOccurrencesOfString:@"^" withString:@""];

明白我的意思了吗?

谢谢,克里斯蒂安·斯图尔特

最佳答案

如果这是您在这个程序或另一个程序中经常要做的事情,也许可以创建一个方法或条件循环来传递原始字符串,并使用多维数组来保存要查找/替换的字符串。可能不是最有效的,但像这样:

// Original String
NSString *originalString = @"My^ mother^ told me not to go' outside' to' play today. Why did I not listen to her?";

// Method Start
// MutableArray of String-pairs Arrays
NSMutableArray *arrayOfStringsToReplace = [NSMutableArray arrayWithObjects:
[NSArray arrayWithObjects:@"'",@"",nil],
[NSArray arrayWithObjects:@" ",@"'",nil],
[NSArray arrayWithObjects:@"^",@"",nil],
nil];

// For or while loop to Find and Replace strings
while ([arrayOfStringsToReplace count] >= 1) {
originalString = [originalString stringByReplacingOccurrencesOfString:[[arrayOfStringsToReplace objectAtIndex:0] objectAtIndex:0]
withString:[[arrayOfStringsToReplace objectAtIndex:0] objectAtIndex:1]];
[arrayOfStringsToReplace removeObjectAtIndex:0];
}

// Method End

输出:

2010-08-29 19:03:15.127 StackOverflow[1214:a0f] My'mother'told'me'not'to'go'outside'to'play'today.'Why'did'I'not'listen'to'her?

关于Objective-C 字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3597278/

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