例如: QString str =“abc def cda acd aaa”;
如何让 str=“abc def cda acd aaa”;
就是把一个串中的连续多个空格替换成一个空格。
qt里有没有什么函数直接一步就完成的呢。
如: str.replace();
最好能详细写出里面的参数。
------解决方案--------------------
楼主为什么 不自己是一个方法来实现他呢?
- C/C++ code
QString Func(const QString &temp){ bool flag=false; QString temp2; for(int i=0;i!=temp.size();++i) { if(temp.at(i)==QChar(' ')) { if(!flag) { temp2.append(' '); } flag=true; } else { temp2.append(temp.at(i)); flag=false; } } return temp2;}
------解决方案--------------------
regex.replace(str.Trim(),@"/s+"," ");
------解决方案--------------------
QString::simplified()
------解决方案--------------------
楼上几位的办法都可行,顶一下
------解决方案--------------------
QString::simplifyWhiteSpace () const
返回一个移除了这个字符串的开始和结尾的空白符号的字符串,并且内部的空白符号都被替代为单一的空格。
------解决方案--------------------
------解决方案--------------------
不想搞太多代码就用正则撒,上面不是有个正则的吗?
QString s = "kjk kdjfd jkj kjd";
s.replace(QRegExp("[\\s]+"), " ");
qDebug()<<s;
------解决方案--------------------
int i=0;
while(i!=-1)
{
i=str.find(' ',++i);
if(str.find(' ',i+1)==(i+1))
str.remove (i+1,1);
}