iphone - 基于 NSString 序列的 Word 输出

标签 iphone ios objective-c nsstring nsarray

我想做的是从 NSString 中取出 3 个字母的单词序列,并将它们更改为相应的单词。 EX) AUG = "START", AGC = "Asparagine", 等等。我的想法是将 NSString 更改为 NSArray,每个元素包含 3 个字母,然后我可以在 for 循环中引用它们,以创建一个新字符串与结果词。

例子:

NSDictionary *aminoReplaceDict = @{
                                       @"AAA" : @"Lysine",
                                       @"AAC" : @"Asparagine",
                                       @"AAG" : @"Lysine",
                                       @"AAU" : @"Asparagine",
                                       @"ACA" : @"Threonine",
                                       @"ACC" : @"Threonine",
                                       @"ACG" : @"Threonine",
                                       @"ACU" : @"Threonine",
                                       @"AGA" : @"Arginine",
                                       @"AGC" : @"Serine",
                                       @"AGG" : @"Arginine",
                                       @"AGU" : @"Serine",
                                       @"AUA" : @"Isoleucine",
                                       @"AUC" : @"Isoleucine",
                                       @"AUG" : @"START",
                                       @"AUU" : @"Isoleucine",
                                       @"CAA" : @"Glutamine",
                                       @"CAC" : @"Histidine",
                                       @"CAG" : @"Glutamine",
                                       @"CAU" : @"Histidine",
                                       @"CCA" : @"Proline",
                                       @"CCC" : @"Proline",
                                       @"CCG" : @"Proline",
                                       @"CCU" : @"Proline",
                                       @"CGA" : @"Arginine",
                                       @"CGC" : @"Arginine",
                                       @"CGG" : @"Arginine",
                                       @"CGU" : @"Arginine",
                                       @"CUA" : @"Leucine",
                                       @"CUC" : @"Leucine",
                                       @"CUG" : @"Leucine",
                                       @"CUU" : @"Leucine",
                                       @"GAA" : @"Glutamic Acid",
                                       @"GAC" : @"Aspartic Acid",
                                       @"GAG" : @"Glutamic Acid",
                                       @"GAU" : @"Aspartic Acid",
                                       @"GCA" : @"Alanine",
                                       @"GCC" : @"Alanine",
                                       @"GCG" : @"Alanine",
                                       @"GCU" : @"Alanine",
                                       @"GGA" : @"Glycine",
                                       @"GGC" : @"Glycine",
                                       @"GGG" : @"Glycine",
                                       @"GGU" : @"Glycine",
                                       @"GUA" : @"Valine",
                                       @"GUC" : @"Valine",
                                       @"GUG" : @"Valine",
                                       @"GUU" : @"Valine",
                                       @"UAA" : @"STOP",
                                       @"UAC" : @"Tyrosine",
                                       @"UAG" : @"STOP",
                                       @"UAU" : @"Tyrosine",
                                       @"UCA" : @"Serine",
                                       @"UCC" : @"Serine",
                                       @"UCG" : @"Serine",
                                       @"UCU" : @"Serine",
                                       @"UGA" : @"STOP",
                                       @"UGC" : @"Cysteine",
                                       @"UGG" : @"Tryptonphan",
                                       @"UGU" : @"Cysteine",
                                       @"UUA" : @"Leucine",
                                       @"UUC" : @"Phenylalanine",
                                       @"UUG" : @"START",
                                       @"UUU" : @"Phenylalanine",
                                       };
    NSMutableString *replaceString = [NSMutableString stringWithString:_trnaOut.text];
    for( NSString *replaceWord in [aminoReplaceDict allKeys] )
    {
        [replaceString replaceOccurrencesOfString:replaceWord withString:aminoReplaceDict[replaceWord] options:NSCaseInsensitiveSearch range:NSMakeRange(0, replaceString.length )];
    }
    _aminoOut.text = replaceString;

输出: enter image description here

最佳答案

这应该可行(省去了与您的问题相同的字典):

 NSString *exampleString = @"AAACAACAU";
NSMutableArray *stringArray = [[NSMutableArray alloc] init];
for( int i = 0; i < exampleString.length; i += 3)
{
    NSString *substring = [exampleString substringWithRange:NSMakeRange(i, 3)];
    [stringArray addObject:substring];
}

NSMutableArray *replacedArray = [[NSMutableArray alloc] init];
for( NSString *key in stringArray)
{
    NSString *replacedWord = aminoReplaceDict[key];
    [replacedArray addObject:replacedWord];
}

NSString *replaceString = [replacedArray componentsJoinedByString:@", "];
NSLog(@"%@", replaceString);

关于iphone - 基于 NSString 序列的 Word 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19364787/

相关文章:

iphone - UIPickerView在iOS4中导致崩溃

ios - Localytics 推送通知文本限制

html - 如果在 Iphone/Ipod 上重定向 Ipad/Ipad Mini 呢

ios - 如何修复返回 nil 的扩展实例?

ios - 应用程序在 iOS 中显示黑屏

ios - 如何在 iOS 上绘制嵌套的径向渐变?

ios - 带字典的 JSON - 嵌套对象转换为字符串并显示

iphone - NSManagedObjectContext performBlockAndWait : doesn't execute on background thread?

ios - 如何使用 Xcode 7.2/iOS 9.2 使 UIBarButtonItem 在 iOS 8.4 中的轻触和紧触行为一致

iphone - 在iphone上渲染后是否有任何框架可以突出显示pdf文件上的文本