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

标签 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,这就是它第一次被替换的原因。现在我想替换“PAGE_ID=”和“;”之间的值。怎么换啊。我试过这样。

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);

提前致谢。

最佳答案

由于您想多次更新 __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);

然后使用脚本。

关于c++ - 如何使用 C++ 替换字符串之间的更新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23537778/

相关文章:

c# - 如果捕获一般异常,是否有可能出现异常?

android - NullPointerException 获取 StringArray 到 String[]

c# - 带有千位分隔符和强制小数位的 String.Format decimal

arrays - 在 Ruby 中,如何用潜在的多个元素替换数组中的一个元素?

java - 如何在java String中用 "\_"精确替换空格?

c++ - 在C++中,如何使用在另一个文件中定义的常量变量?

c++ - 这个模板定义有什么问题?

c++ - 依赖注入(inject) : all service methods receive the same newable object

python - 如何在恒定长度内找到两个字符串的所有可能排列

Javascript - 替换字符串中的任何字符实例