目录
20201016
1.操作字符串
(1)追加字符串:+ ;+= ; append();
(2)输出字符串:sprintf(); arg();
(3)插入/替换:insert(); prepend(); replace();
(4)去两端空白:trimmed(); simplified();
举例:
QString str1 = " Welcome ";
str1 = str1 + "to you! ";
QString str2 = "Hello, ";
str2 += "World! ";
QString str3 = "Good ";
QString str4 = "Afternoon! ";
str3.append(str4);
str3.append("My Friend! ");
QString str5;
str5.sprintf("%s","XX ");
str5.sprintf("%s","is printing");
str5.sprintf("%s %s","XX","is printing");
QString str6 = "Welcome \t to \n you! ";
str6=str6.trimmed(); //去掉两端空白字符(空白字符包括四种:回车符\n / 换行符\r / 制表符\t / 空格符"")
str6=str6.simplified();//去掉两端空白,用空格代替字符串中间的各种空白字符
2.查询字符串
(1)查询是否以某个字符串开头 startsWith();
(2)查询是否以某个字符串结尾 endsWith();
(3)是否出现某个字符 contains();
(4)比较字符串
operator<; operator<=; operator==; operator>=;
compare(); localeAwareCompare();
3.字符串转换
(1)字符串转换为数值类型或其他的字符编码集。(toInt() / toDouble() / toFloat() / toLong() / toLongLong())
QString str="125";
bool ok;
int hex=str.toInt(&ok,16); //ok=true,hex=293
int dec=str.toInt(&ok,10); //ok=true,dec=125
(2)字符编码集的转换函数(toAscii() / toLatin1() / toUtf8() / toLocal8Bit())
字符编码集的转换函数会返回一个const char*类型的QByteArray。
QString str=" Welcome to you! ";
QByteArray ba=str.toAscii(); //将Unicode编码的字符串转换为ASCII码的字符串,并存储在QByteArray的对象ba中——————错误提示:QString没有这个成员
qDebug()<<ba;
ba.append("Hello,World! "); //追加字符串
qDebug()<<ba.data();
这几个编码有什么区别呢?
(1)ASCII编码
(2)Latin-1编码
(3)UTF-8编码
(4)系统本地编码(locale)
(5)Unicode