Qt 用指定字符指定间距分割字符串
2017-11-03 本文已影响7人
赵者也
实现代码如下:
#include <QCoreApplication>
#include <QDebug>
//参数说明:
//org 要修改的字符串
//ch 要插入的字符串,默认为 空格
//nSpacing 指定间距,默认为1,即一个字符中间插入一个ch
QString splitFormatString(const QString& org, int nSpacing = 1,
const QString& ch = QString(" "))
{
QString result = org;
if (org.size() <= nSpacing) {
result.push_front(ch);
} else {
result.clear();
for (int i=0; i<org.size(); ) {
result.append(org.mid(i, nSpacing));
i += nSpacing;
if (i < org.size()) {
result.append(ch);
}
}
}
return result;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString test("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
qDebug() << "source string: " << test;
QString result = splitFormatString(test, 3);
qDebug() << "result string0: " << result;
result = splitFormatString(test, 100);
qDebug() << "result string1: " << result;
return a.exec();
}
运行效果:
运行效果