Javascript 使用JS或JQUERY构建正确的正则表达式时出现问题:只在一行中替换两个字符串之间的所有模式
我有一个只有一行很长的文件:Javascript 使用JS或JQUERY构建正确的正则表达式时出现问题:只在一行中替换两个字符串之间的所有模式,javascript,jquery,regex,Javascript,Jquery,Regex,我有一个只有一行很长的文件: {"cours":[{"BackgroundImage":"’images/1603881_teaser_picture_1599819830.jpg","UrlsCourse":["https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3&q
{"cours":[{"BackgroundImage":"’images/1603881_teaser_picture_1599819830.jpg","UrlsCourse":["https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3","file:///R:/Formation/Développement/Apprenez ’ et CSS3 ’- OpenClassrooms.htm"],"description":"file:///R:/Formation/Développement/Apprenez ’ et CSS3 - OpenClassrooms.htm"],"file:///R:/Formation/Développement/Apprenez CSS3 - OpenClassrooms.htm"]
我需要将所有'
替换为'
,它们可能存在于文件
和htm
(URL)之间,并保留其他'
(行中有许多对文件…htm
)
我想正则表达式可能是一个解决方案,但我不知道如何解决这个问题
如果没有解决方案与正则表达式,我会做一个经典的循环
之前和之后的另一个样本 以前
"abc":"za’","[file///’ kje.htm]","[file///’ kje’ kje.htm]":"[file/// kje.htm]":"g’ kje"
之后
谢谢你的帮助
text=`{“cours”:[{“BackgroundImage”:“'images/1603881_-trister_-picture_1599819830.jpg”,“urlsourse”:”https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3","file:///R:/Formation/Dédeveloppement/Apprenez'et CSS3'-openquestions.htm“],“说明”:"file:///R:/Formation/Dédeveloppement/Apprenez'et CSS3-openquestions.htm“],”file:///R:/Formation/Dédeveloppement/Apprenez CSS3-openquestions.htm“]`;
//构建一个正则表达式以查找所有以.htm结尾的文件名
console.log(text.match(/file:\/\/\/.*?\.htm/g));//x.replace(/'/g,“”);
console.log(res);
您能否提供一个带有前后字符(可能只有20-30个字符)的派生示例所以我们可以看到一些东西?为什么你不想替换所有的“
?如果我想替换所有的”
,问题就不存在了…如果对象是有效的JSON,这将非常简单。你有权控制输出来更正它吗?尽管我认为如果你有在该级别的控制权,它会首先更容易防止输入无效字符。@Rory McCrossan,是的,您有权使用json,是的,一个解决方案是在调用时修改url。但最好的解决方案是修复初始文件(避免污染js程序).我认为正则表达式对专家来说会更容易,但也许唯一的解决方案是做一个简单的循环..这对正则表达式专家来说是一个挑战..是的,这是一个很好的解决方案,我忘记了在替换正则表达式时使用function()的事实。。
"abc":"za’","[file///' kje.htm]","[file///' kje' kje.htm]":"[file/// kje.htm]":"g’ kje"