QT-如何从QString中获取字符
QT - How can I get characters from QString?
我有几个字符串存储"RNA,DNA"序列。我需要从这些字符串中获取字符并进行比较。
下面你可以看到我代码的一部分:
QFile file (filePath);
if (!file.open(QIODevice::ReadOnly)){
QMessageBox::information(0,"info",file.errorString());
}
QString line, element;
QStringList list;
int counter;
while(!file.atEnd()){
line = file.readLine();
list = line.split(QRegExp("[rn]"),QString::SkipEmptyParts);
for(counter = 0; counter < list.size(); counter++){
element=list.at(counter);
textfile_.append(element);
}
}
现在,我想做的是,逐个字符地对"元素"变量进行切片,并将这些字符存储到变量、字符串、向量或其他任何东西中。但我必须稍后联系他们,以便能够对他们进行比较。
简单样本:
- 元素1:"actrcddeactsfgcstrsac"
- 元素2:"actcctdfstrtasc"
- 元素3:"sdfccwertwerwewerdf"
- 元素4:"werwercdwttewrweddfer"
比方说,对于element1,我需要的是这样的东西:
- char[0][0]=a
- char[0][1]=c
char[0][2]=t
。。。
有几种方法可以做到这一点。以下是其中的一些:
方法1-使用字符串列表
QString element1("actrcddeactsfgcstrsac");
QList<QString> matrix;
matrix.push_back(element1);
char c = matrix[0][0].toAscii(); // returns 'a'
方法2-使用二维数组。我会使用std::vector来存储字符:
QString element1("actrcddeactsfgcstrsac");
// Init the 100x100 matrix
std::vector<std::vector<char> > matrix( 100, std::vector<char>(100, 0));
// Init the first row.
for (int i = 0; i < s.size(); i++) {
matrix[0][i] = element1.at(i).toAscii();
}
char c = matrix[0][0]; // returns 'a'
相关文章:
- 有没有办法通过使用十进制 ASCII 代码自动类型扣除来获取字符?
- 如何获取C++字符数据类型的地址
- CPP:如何获取字符的最后一个索引
- 试图在重载函数中获取字符和字符串的输入
- C++使用第二个函数获取字符数组的长度
- 如何获取字符*的实际长度?strlen 和 sizeof(target)/sizeof(target*)之间的区别?
- 如何获取字符并将其转换为字符串?C++
- 如何在C++中从字符串指针中获取字符
- 获取字符数组地址,然后转换为指针字符
- 使用指针在字符串中获取字符的位置
- 获取字符数组C++数
- 使用scanf()在数组中获取字符(不与空格分开)
- "Error: expected a '{' introducing a lambda body"尝试从地图<字符,字符中获取字符时> C++
- 从文本文件输入以获取字符C++
- 使用getchar()获取字符并将其保存到每次C 的新行中的文件中
- 需要帮助从文件中获取字符和整数数据
- 如何获取字符C++像素
- 如何获取字符*(字符数组)的真实长度和总长度
- 从文件而不是getchar中获取字符
- 从流 C++ 获取字符