如何使用c++在between字符串中替换更新后的值
How to replace with updated value in between string using C++?
我试图用更新的值替换字符串。第一次用更新后的值替换,之后就不再更新了。
这是我的字符串:
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
中得到更新的值。这里我用currentPageInstanceId
替换__PAGE_ID__
,这就是为什么它第一次被替换。现在我想替换"PAGE_ID="answers";"之间的值。我怎么能代替。我试过了。
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++本机插件更新Vector3数组
- 模板参数替换失败,并且未完成隐式转换
- QGraphicsPolygonItem在拖动时未更新QPolygonF坐标
- 如何用转义符替换字符串中的所有特殊字符
- cmake更新缓存的变量
- 更新到莫哈韦后出现cmath错误
- 为什么除非添加括号,否则构造函数上的模板替换会失败?
- 在一个读写器队列中,我可以用volatile替换原子吗
- OpenMP:并行更新数组总是需要减少数组吗
- 用符号版本替换对函数的所有调用
- 为什么我的变量没有更新,我的 LED 没有亮起?
- 指针没有更新它在void函数内部指向的值
- 如何在c++中获取要更新的值
- 已修改的LinkedList未在文本文件本身中更新
- Qt:当QListView获得新条目时,如何更新QStringList
- 如何编写自我替换/更新二进制文件
- 如何替换/更新 MFC 对话框中的 ActiveX 控件
- 如何在更新到CppUnit 1.12时替换CppUnit 1.9中过时的getRegistryList()
- 在树中找到一个节点,并用带有更新私有成员的新节点替换
- 如何使用c++在between字符串中替换更新后的值