如何使用C ++替换字符串之间的更新值?

时间:2014-05-08 09:26:29

标签: c++ string replace blackberry-10

我试图用更新的值替换字符串。它第一次用更新的值替换,但之后不更新..

这是我的字符串:

 QString   JAVASCRIPT =
                     "<script>var PAGE_ID=__PAGE_ID__; var SCROLL_PERCENTAGE=__SCROLL_PERCENTAGE__;</script>"+
                      "<script type=\"text/javascript\" language=\"javascript\" src=\"scripts/quiz_objects.js\"></script>"+
                          "<script type=\"text/javascript\" language=\"javascript\" src=\"scripts/swipe.js\"></script>"+
                          "<script type=\"text/javascript\" language=\"javascript\" src=\"scripts/NativeBridge.js\"></script>"+
                          "<script type=\"text/javascript\" language=\"javascript\" src=\"scripts/native_base.js\"></script>"+
                          "<script type=\"text/javascript\" language=\"javascript\" src=\"scripts/native_device.js\"></script>"+
                          "<script type=\"text/javascript\" language=\"javascript\" src=\"js/mobi.js\"></script>";

我想用更新的值替换"PAGE_ID"值。

qDebug() << "currentPageInstanceeeeeeeeId" << currentPageInstanceId;
qDebug() << "javaaaaaaaaa" << JAVASCRIPT;
JAVASCRIPT.replace(__PAGE_ID__," " + currentPageInstanceId);

我在currentPageInstanceId中获得了更新后的值。在这里,我将__PAGE_ID__替换为currentPageInstanceId,这是第一次替换它的原因。现在我想替换&#34; PAGE_ID =&#34;之间的值。和&#34;;&#34;。我怎么能更换。我试过这样的。

qDebug() << "currentPageInstanceeeeeeeeId" << currentPageInstanceId;
    qDebug() << "javaaaaaaaaa" << JAVASCRIPT;
    Qt::CaseSensitivity cs = Qt::CaseSensitive;
    script = JAVASCRIPT.indexOf("PAGE_ID=",cs);
    script1 = JAVASCRIPT.lastIndexOf(";", cs);
    JAVASCRIPT.replace(script+""+ script1," " + currentPageInstanceId);

先谢谢。

1 个答案:

答案 0 :(得分:1)

由于您想多次更新__PAGE_ID__(可能是__SCROLL_PERCENTAGE__)的值,我会这样做:

将您的JAVASCRIPT值设置为:

QString   JAVASCRIPT =
                 "<script>var PAGE_ID=%1; var SCROLL_PERCENTAGE=%2;</script>"+
                  "<script type=\"text/javascript\" language=\"javascript\" src=\"scripts/quiz_objects.js\"></script>"+
                      "<script type=\"text/javascript\" language=\"javascript\" src=\"scripts/swipe.js\"></script>"+
                      "<script type=\"text/javascript\" language=\"javascript\" src=\"scripts/NativeBridge.js\"></script>"+
                      "<script type=\"text/javascript\" language=\"javascript\" src=\"scripts/native_base.js\"></script>"+
                      "<script type=\"text/javascript\" language=\"javascript\" src=\"scripts/native_device.js\"></script>"+
                      "<script type=\"text/javascript\" language=\"javascript\" src=\"js/mobi.js\"></script>";

然后,当您想要设置值时,请使用arg方法:

QString script = JAVASCRIPT.arg(currentPageInstanceId).arg(currentScrollPercentage);

然后使用脚本。