如何解决有没有一种方法可以替换字符串中的字母?
我遇到了一个问题,即它不能将所有G替换为C,而不能将C替换为G,我该怎么办才能解决此问题? 我现在得到的输出是“ GUGAGGGGAG” 我正在寻找的输出是“ CUCAGCGCAG” 这是我到目前为止的代码:
class ViewController: UIViewController,UITextFieldDelegate {
override func viewDidLoad() {
let textField = UITextField()
textField.delegate = self
}
func textField(_ textField: UITextField,shouldChangeCharactersIn range: NSRange,replacementString string: String) -> Bool {
guard let textFieldText = textField.text,let rangeOfTextToReplace = Range(range,in: textFieldText) else {
return false
}
let substringToReplace = textFieldText[rangeOfTextToReplace]
let count = textFieldText.count - substringToReplace.count + string.count
return count <= 5
}
}
- 我正在做DNA到RNA的翻译代码!所以A替换为U,G替换为C,T替换为A,C替换为G
解决方法
使用str.translate
,我们可以一次性更改整个字符串:
a_string = "GAGTCGCGTC"
string1 = "GATC"
string2 = "CUAG"
print(a_string.translate(str.maketrans(string1,string2)))
输出:
CUCAGCGCAG
,
在Python 3中,您可以使用translate
:
a_string = 'GAGTCGCGTCTACACATGCAGTCGAACGGTAGCACAGAGAGCTTGCTCTCGGGTG'
trans = {
'G': 'C','A': 'U','T': 'A','C': 'G'
}
print(a_string.translate(str.maketrans(trans)))
# CUCAGCGCAGAUGUGUACGUCAGCUUGCCAUCGUGUCUCUCGAACGAGAGCCCAC
,
您可以执行替换为小写字母,然后仅在完成所有替换后,才将字符串完全变为大写。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。