Jquery的字符串替换问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jquery的字符串替换问题相关的知识,希望对你有一定的参考价值。

我现在想把一个文件路径字符串的“\”这个方向的斜杠全换成"/"这个方向的,用的是str.replace(“\\”,"/");可是结果是只有第一个斜杠被替换了,后面的还是 \ 这样的,请问应该怎么写?

<!DOCTYPE html>


<html lang="en">

    <head>

        <meta charset="UTF-8" />

        <title>Test Page</title>

    </head>


    <body>

        <script>

            var str1 = 'C:\\\\Program Files\\\\iPod\\\\bin\\\\iPodService.Resources\\\\ca.lproj\\\\iPodServiceLocalized.dll';

            var str2 = str1.replace(/\\\\/g, '/');

           

            console.log(str1);

            console.log(str2);

        </script>

    </body>

</html>


注意,replace()中的第一个参数我用的是正则表达式(regular expression)而非字符串,表达式最后要加上g(flag)代表global,意指把所有匹配到的‘\\\\'都替换为’/‘,否则只替换第一个匹配到的’\\\\‘。学好reg exp对于解决类似的问题,包括表单验证等繁琐工作十分有帮助。并且,除了javascript外,大部分主流开发语言都实现了reg exp,只是相互间略有差别。


FYI,你所说的jQuery应该是指JavaScript。JavaScript是一种在Web deveopment中主要用于client side开发的编程语言,而jQuery是一个非常流行的JavaScript开发库。应用jQuery进行开发可以大大简化DOM Manipulation和Ajax等原本较繁琐的工作,更重要的是它能帮助开发人员避免大部分的浏览器兼容性问题,所以近年十分受欢迎。所以请搞清楚,这两者虽然关系密切,但绝不是同一样东西

参考技术A 加个/g,全文匹配,用正则本回答被提问者采纳 参考技术B 使用.replaceAll() 尝试。

http://www.css88.com/jqapi-1.7/#p=replaceAll
参考技术C str.replaceAll(“\\”,"/");
是不是这样写?

使用 jQuery 选择器来定位和替换包含 HTML 的字符串中的元素 [重复]

【中文标题】使用 jQuery 选择器来定位和替换包含 HTML 的字符串中的元素 [重复]【英文标题】:Use jQuery selectors to target and replace elements in a string containing HTML [duplicate] 【发布时间】:2014-09-12 12:31:27 【问题描述】:

我有一个包含 HTML 的字符串,例如

var myString = "<div><p>testing</p></div>";

我需要定位 p 并将“测试”替换为其他内容,例如“Hello World”。我通常会使用

$("p").innerHTML = "Hello World";

但是,这是字符串的一部分,而不是 DOM 的一部分。如何使用 jQuery 的选择器系统从 HTML 字符串中进行选择?

【问题讨论】:

这看起来不像是它的副本。他甚至说他没有使用 jQuery。 问题 1:您是否拥有 DOM 或者您是否正在使用 DOM 做一些花哨的事情?问题 2:您是否反对“hacky”解决方案,例如在 DOM 中使用占位符并使用它? @JonP 在我的情况下,我有一个模板,我将其作为文本拉入使用 AJAX 的变量中,我想将内容添加到该模板的一部分,然后再将其放入真实 DOM 中的模板持有者.我通常会使用 jQuery 来定位它,但它仍然在一个变量中。我可以将它添加到 DOM 中,然后在其中放置内容,但要定位到确切的内容会更加棘手,并且可能会有几毫秒没有内容。 使用 jquery 的正确方法是var s = '&lt;li&gt;text&lt;/li&gt;'; $.parseHTML(s).find("p").text("Hello World")。不知道为什么这个问题被标记为一个不要求执行此操作的 jquery 方法的重复项 【参考方案1】:

您可以将任何 HTML 转换为可解析的 jQuery 对象。

jQuery - selectors on a html string

$('p', myString).text()

【讨论】:

这允许我检索字符串但不能编辑它(如他的回答中提到的 meni181818 )。 +1,因为它很有用。【参考方案2】:

请注意,您不能使用:

$("p", myString).text( "Hello World" );

因为不是“可编辑”DOM (isContentEditable: false)

【讨论】:

您似乎被其他人否决了,因为这更像是评论而不是答案。我建议删除答案并将其作为评论发布。

以上是关于Jquery的字符串替换问题的主要内容,如果未能解决你的问题,请参考以下文章

jQuery替换html页面中所有出现的字符串

使用jQuery替换查询字符串参数并放在地址栏中而不刷新

Jquery:用数组中的值替换字符串

Masonry jquery 为啥js字符串中的斜杠被自动替换掉了

jquery--替换字符串,去除字符串

替换jquery中字符串中多次出现的多个子字符串