我正在尝试用更新后的值替换字符串。这是它第一次用更新后的值替换,但之后它没有更新..
这是我的字符串:
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/