javascript - 页面加载后替换 HTML 文档中的字符串
问题描述
我有一个带有一些标记的 html 文档,例如:
<p>Substance A, a metabolite enhances serotonergic production in neurons [33088927]. Substance B confers neuroprotection [28388366]. </p>
页面加载后,我想查找文档中出现方括号的每个匹配项,并将字符串替换为其他内容,例如 [33088927] -> 33088927i。
使用 regex101.com,我整理了一个查找方括号实例的函数:
function the_Pubs(){
window.addEventListener("load", function(){
const regex = /\[(.*?)\]/gm;
let result;
while((result = regex.exec(document.documentElement.outerHTML)) !== null) {
if (result.index === regex.lastIndex) {
regex.lastIndex++;
}
result.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
})}
如何替换找到的实例?
解决方案
您可以使用String#replace
回调函数。
document.documentElement.innerHTML = document.documentElement.innerHTML
.replace(/\[(.*?)\]/gm, (m, g) => g + "i");
推荐阅读
- amazon-web-services - 从 AWS CDK 堆栈中获取所有节点
- python - 如何从 DeepDiff 中删除特定单词?
- java - 有没有更好的方法来处理双打的数学计算?
- java - 反应流中不一致的 doAfterTerminate 行为
- c# - 无法批量加载。文件“C:\CSV\Alarm.csv”不存在或您没有文件访问权限。-- SQL Server
- java - 禁用自定义健康检查端点
- python - Google Colab 不会运行所有一个单元格
- python - CVXPY 二次规划;ArpackNoConvergence 错误
- reactjs - 如何根据 React APP 中网站上的语言使元标记动态化?[反应头盔 + i18next]
- qt - 在 Linux 下从源代码编译 Qt5Quick 和 Qt5Qml