问题描述
我要删除 QString
中所有结尾的空白字符。我想用Python函数 str.rstrip()
与 QString
。
我做了一些Googling,发现这个:
所以我现在是这样的:
while(str.endsWith(''))str.chop (1)。
while(str.endsWith('\\\
'))str.chop(1);
有更简单的方法吗?
code 有两种与修剪空格相关的方法:-
返回一个从开始处删除空格的字符串, -
返回从开始和结尾删除空格的字符串,并且将每个内部空格的序列替换为单个空格。 / li>
如果只想删除尾部空格,您需要自己实现。这是一个模拟 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;
}
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
.
I did some Googling, and found this: http://www.qtforum.org/article/20798/how-to-strip-trailing-whitespace-from-qstring.html
So what I have right now is something like this:
while(str.endsWith( ' ' )) str.chop(1);
while(str.endsWith( '\n' )) str.chop(1);
Is there a simpler way to do this? I want to keep all the whitespace at the beginning.
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 "";
}
这篇关于如何从QString中删除尾部空格?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!