gpt4 book ai didi

objective-c - 仅从字符列表中删除字符的第一个实例

转载 作者:行者123 更新时间:2023-12-03 16:48:44 27 4
gpt4 key购买 nike

这就是我想做的。我有 2 个字符串,我想确定一个字符串是否是另一个字符串的排列。我想简单地从字符串 B 中删除字符串 A 中的字符,以确定是否剩下任何字符。如果没有,则通过。

但是,我需要确保每个字母仅删除 1 个实例(不是所有出现的情况),除非单词中有多个字母。

一个例子:

String A: cant

String B: connect

Result: -o-nec-

到目前为止,使用 NSString 和 NSScanner 进行实验尚未取得任何结果。

最佳答案

嗯,我们来试试吧:

NSString *stringA = @"cant";
NSString *stringB = @"connect";

NSUInteger length = [stringB length];
NSMutableCharacterSet *charsToRemove = [NSMutableCharacterSet characterSetWithCharactersInString:stringA];

unichar *buffer = calloc(length, sizeof(unichar));
[stringB getCharacters:buffer range:NSMakeRange(0, length)];

for (NSUInteger i = 0; i < length; i++)
{
if ([charsToRemove characterIsMember:buffer[i]])
{
[charsToRemove removeCharactersInRange:NSMakeRange(buffer[i], 1)];
buffer[i] = '-';
}
}

NSString *result = [NSString stringWithCharacters:buffer length:length];

free (buffer);

关于objective-c - 仅从字符列表中删除字符的第一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2934204/

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