0

在下面的代码中,我检查了 NSString "newDNA" 以查看它是否只包含 ATCG。在下面的if语句中,如果foundRange.location==NSNotFound,我想改变字符串中的字母。如果字母是 A,我想把它改成 T,G 改成 C,C 改成 G,T 改成 A。我不太确定该怎么做。

//Check characters
    NSCharacterSet *ATCG = [NSCharacterSet characterSetWithCharactersInString:@"ATCG"];
    NSCharacterSet *invalidChars = [ATCG invertedSet];
    //NSString *target; // the string you wish to check
    NSRange searchRange = NSMakeRange(0, newDNA.length); // search the whole string
    NSRange foundRange = [newDNA rangeOfCharacterFromSet:invalidChars
                                                 options:0 // look in docs for other possible values
                                                   range:searchRange];
    if (foundRange.location==NSNotFound) {
        _testLabel.text = @"YESSSS";
    }else{
        _testLabel.text = @"NOOOOOO";
    }
4

1 回答 1

3

这很简单:

    if (foundRange.location==NSNotFound) {
        _testLabel.text = [_testLabel.text stringByReplacingOccurrencesOfString:@"A" withString:@"T"]; 
        //And so on
    }

我只是注意到您要将 A 更改为 T 并将 T 更改为 A,您可能需要使用临时值。

例如,将 A 更改为 temp,将 T 更改为 A,将 temp 更改为 T。

于 2013-10-14T15:03:54.767 回答