如何在QString中替换数字文本组合

时间:2014-04-01 06:00:26

标签: qt

pOutputIndexFile is "G:\new1.dat"
fileNumber is "2.dat"

pOutputIndexFile->replace(QRegExp("\\[0-9]{1,1}\\.dat"),fileNumber);

这不会将我的字符串更改为“G:\ new2.dat”。我怎么能这样做?

4 个答案:

答案 0 :(得分:1)

可以通过以下方式完成:

pOutputIndexFile->replace(QRegExp("\\d{1,10}.dat"),fileNumber);

\ d {1,10}表示匹配包含至少一位但不超过十位的数字序列。

所以即使pOutputIndexFile是“G:\ new964.dat”而fileNumber是“965.dat”,结果是:

“G:\ new965.dat”

答案 1 :(得分:1)

我用

搞定了
 pOutputIndexFile->replace(QRegExp("\\d\\d?.dat"),fileNumber);

答案 2 :(得分:0)

您的正则表达式正在查找扩展名为idx的文件,而不是dat。由于它没有找到,所以没有任何东西被替换。

答案 3 :(得分:0)

你可以试试这个:

pOutputIndexFile->replace(QRegExp("[0-9]{1}\.dat"),fileNumber);
  • [0-9]:表示数字
  • {1}:仅指一个字符
  • \.:保护.
  • dat:dat
相关问题