How do I remove trailing whitespace from a QString?

前端 未结 9 1727
甜味超标
甜味超标 2020-12-29 19:24

I want to remove all the trailing whitespace characters in a QString. I am looking to do what the Python function str.rstrip() with a QString

9条回答
  •  伪装坚强ぢ
    2020-12-29 19:51

    QString has two methods related to trimming whitespace:

    • QString QString::trimmed() const
      Returns a string that has whitespace removed from the start and the end.
    • QString QString::simplified() const
      Returns a string that has whitespace removed from the start and the end, and that has each sequence of internal whitespace replaced with a single space.

    If you want to remove only trailing whitespace, you need to implement that yourself. Here is such an implementation which mimics the implementation of trimmed:

    QString rstrip(const QString& str) {
      int n = str.size() - 1;
      for (; n >= 0; --n) {
        if (!str.at(n).isSpace()) {
          return str.left(n + 1);
        }
      }
      return "";
    }
    

提交回复
热议问题