在QString中为每一行添加字符

时间:2013-05-21 12:30:18

标签: c++ qt

我有一个带有多行文本的QString,开头没有空格,如:

Lorem ispum   
Dolor a si met   
Hulu il it er   

我想为每一行添加空格以获得类似的内容:

      Lorem ispum  
      Dolor a si met   
      Hulu il it er     

有关信息,我使用QT的QString

2 个答案:

答案 0 :(得分:1)

您可以使用QString::replace()

QString s = "Lorem ispum\nDolor a si met\nHulu il it er ";
s.replace(QRegExp("^"), "\t");

您也可以在没有正则表达式的情况下执行此操作:

s.insert(0, '\t');
s.replace('\n', "\n\t");

这会在每行的开头添加一个标签(\t),如果你想添加空格,只需用空格替换\t

答案 1 :(得分:0)

只需迭代字符串中的每个字符,同时复制到第二个字符串。只要看到换行符,就复制它并添加所需的空格。

或者只需使用replace功能:

str.replace('\n', "\n\t");