• QT::QString 很全的使用


    Qt的QString类提供了很方便的对字符串操作的接口。

    1.使某个字符填满字符串,也就是说字符串里的所有字符都有等长度的ch来代替。

    QString::fill ( QChar ch, int size = -1 )

    例:

         QString str = "Berlin";
         str.fill('z'); // str == "zzzzzz"  str.fill('A', 2); // str == "AA"

    2.从字符串里查找相同的某个字符串str。

    int QString::indexOf ( const QString & str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const

    例如:

    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

    3.指定位置插入字符串

    QString & QString::insert ( int position, const QString & str )

    例如:

         QString str = "Meal";
         str.insert(1, QString("ontr")); // str == "Montreal"

    4.判断字符串是否为空。

    bool QString::isEmpty () const

    如:

         QString().isEmpty(); // returns true QString("").isEmpty(); // returns true QString("x").isEmpty(); // returns false QString("abc").isEmpty(); // returns false

    5.判断字符串是否存在。

    bool QString::isNull () const

    例如:

         QString().isNull(); // returns true QString("").isNull(); // returns false QString("abc").isNull(); // returns false

    6.从左向右截取字符串

    QString QString::left ( int n ) const

    例如:

         QString x = "Pineapple";
         QString y = x.left(4); // y == "Pine"

    7.从中间截取字符串。

    QString QString::mid ( int position, int n = -1 ) const

    例如:

      QString x = "Nine pineapples";
         QString y = x.mid(5, 4); // y == "pine" QString z = x.mid(5); // z == "pineapples"

    8.删除字符串中间某个字符。

    QString & QString::remove ( int position, int n )

    例如:

         QString s = "Montreal";
         s.remove(1, 4); // s == "Meal"

    9.替换字符串中的某些字符。

    QString & QString::replace ( int position, int n, const QString & after )

    例如:

         QString x = "Say yes!";
         QString y = "no";
         x.replace(4, 3, y); // x == "Say no!"

    10.以某个字符切割字符串。(最近经常用到的)

    QString QString::section ( QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault ) const

    例如:

     QString str;
         QString csv = "forename,middlename,surname,phone";
         QString path = "/usr/local/bin/myapp"; // First field is empty QString::SectionFlag flag = QString::SectionSkipEmpty;
    
         str = csv.section(',', 2, 2); // str == "surname" str = path.section('/', 3, 4); // str == "bin/myapp" str = path.section('/', 3, 3, flag); // str == "myapp"

    11.把整型,浮点型,或其他类型转化为QString

    QString & QString::setNum ( uint n, int base = 10 )

    12.

    如果我们希望检查一个字符串是否是以某物开始或结束,我们可以使用startsWith()和endsWith()函数:
    
    if (url.startsWith("http:") && url.endsWith(".png"))
        ...
    这个要比下面的简单快速:
    
    if (url.left(5) == "http:" && url.right(4) == ".png")
    ...
    使用==操作符的字符串比较是大小写敏感的。 如果我们正在比较用户级(user-visible)字符串,localeAwareCompare()经常是正确的选择,并且如果我们希望大小写不敏感,我们可以用toUpper()或toLower()。 例如:
    
    if (fileName.toLower() == "readme.txt") 
  • 相关阅读:
    UML 基础知识
    制作嵌入式根文件系统
    oracle 学习之 PL/SQL
    Password for '(null)' GNOME keyring:
    oracle 学习笔记
    lua关于编译后无法使用
    android,wince,windows,ios mms 网络电台收音机,小巧,兼容性好,性能高
    lua批量编译目前支持5.2,5.1
    lua关于编译后无法使用
    dlna support windows
  • 原文地址:https://www.cnblogs.com/acmexyz/p/11649459.html
Copyright © 2020-2023  润新知