基于NSString序列的单词输出 [英] Word output based on NSString sequences
本文介绍了基于NSString序列的单词输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想做的是从NSString中获取3个字母的单词序列,并将其更改为相应的单词.EX)AUG ="START",AGC ="Asparagine",等等.我的想法是将NSString更改为一个NSArray,每个元素包含3个字母,然后可以在for循环中引用它们,以创建一个新字符串与结果单词.
What I want to do is take 3 letter word sequences from an NSString, and change them in to corresponding words. EX) AUG = "START", AGC = "Asparagine", etc. My thought was to change the NSString in to an NSArray with each element containing 3 letters, where I can then reference them in a for loop, to make a new string with the Resulting words.
示例:
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;
输出:
推荐答案
这应该可以工作(省去与您的问题相同的字典):
This should work (leaving out the dictionary which is the same in your question):
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);
这篇关于基于NSString序列的单词输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文