标签:insert isnull str 字符串长度 stat ora color order indexof
C++实现了两种字符串:①C风格的字符串,以‘\0‘结尾;②std::string。Qt也实现了自己的字符串:与std::string相比,QString不用担心内存分配以及关于‘\0‘结尾的问题。
另外,与C风格的字符串不同,QString中间是可以包含‘\0‘符号的,而length()函数则会返回整个字符串的长度,而不仅仅是从开始到‘\0‘的长度。
QString与std::string |
|
||||||
QString与int |
|
QString::isNull() |
判断:字符串是否存在(空串) |
QString::isEmpty() |
判断:字符串是否为空(空白串) |
float a; QString::number(a,‘f‘, 2); |
float a; QString::number(a, ‘g‘, 2); |
例如:
1.23,结果:1.2
0.00012,结果:1.2e-4
left() |
left()函数从左侧截取n个字符 |
right() |
right()函数从右侧截取n个字符 |
mid() |
mid()函数接受两个参数,第一个是起始位置,第二个是子串的长度。如果省略第二个参数,则会从起始位置截取到末尾。 |
QString x = "Hello,World"; QString y = x.mid(6, 5); |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
H |
e |
l |
l |
o |
, |
W |
o |
r |
l |
d |
结果:y = "World"
函数startsWith()和endsWith()可以检测字符串是否以某个特定的子串开始或结尾。
if (url.startsWith("http:") && url.endsWith(".png")) { } //等价于 if (url.left(5) == "http:" && url.right(4) == ".png") { } //前者比后者更加清晰,且性能更强。 |
QString::fill ( QChar ch, int size = -1 ) |
用字符ch填充整个字符串。
demo:
QString str = "Berlin"; str.fill(‘z‘); // str == "zzzzzz" str.fill(‘A‘, 2); // str == "AA" |
int QString::indexOf ( const QString & str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const |
Qstring::indexOf (子串, 从第几个字符开始匹配) |
查找失败返回-1。
QString x = "sticky question"; QString y = "sti"; x.indexOf(y); // returns 0 x.indexOf(y, 1); // returns 10 x.indexOf(y, 10); // returns 10 x.indexOf(y, 11); // returns -1 |
QString& QString::insert ( int position, const Char& ch ) |
QString& QString::insert ( int position, const QString& str ) |
QString& QString::remove ( int position, int n ) |
n = 1 时,删除第n个位置上的字符。
n > 1 时,删除从第position个位置起、长度为n的子串。
QString& QString::replace ( int position, int n, const QString & after ) |
将原串中从position个位置起、长度为n的子串替换为字符串after。
demo
QString x = "Say yes!"; QString y = "no"; x.replace(4, 3, y); // x == "Say no!" |
标签:insert isnull str 字符串长度 stat ora color order indexof
原文地址:https://www.cnblogs.com/audacious/p/12236946.html