var str = "~lorem ~lorem1 ~ipsum ~ipsum2 ~dolor ~dolor3";
str = str.replace(/~lorem/g, 'a');
str = str.replace(/~ipsum/g, 'b');
str = str.replace(/~dolor/g, 'c');
console.log(str); // a a1 b b2 c c3
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
如何一次执行所有的< code>str.replace?
您可以获取一个对象并从键构建正则表达式。
要用值替换,您需要一个函数,该函数采用找到的字符串并从对象中获取值。
如果字符串包含特殊字符,您也需要转义它们。
var str = "~lorem ~lorem1 ~ipsum ~ipsum2 ~dolor ~dolor3",
values = { '~lorem': 'a', '~ipsum': 'b', '~dolor': 'c' };
str = str.replace(new RegExp(Object.keys(values).join('|'), 'g'), k => values[k]);
console.log(str); // a a1 b b2 c c3
问题内容: 我有这个字符串: 正在做: 似乎只删除了上面字符串中的第一个匹配项。 如何替换 所有 出现的内容? 问题答案: 注意:请勿在对性能有要求的代码中使用此代码。 作为简单文字字符串的正则表达式的替代方法,您可以使用 一般模式是 在某些情况下,它过去比使用和正则表达式要快,但是在现代浏览器中,情况似乎不再如此。 结论:如果您有性能至关重要的用例(例如,处理数百个字符串),请使用Regexp方
我想将正则表达式和两个单词之间的结果传输到数组中,但不幸的是我不能这样做。你能帮我吗? 在这篇文章中 我将搜索此内容, 基于此,我写了这样一个正则表达式 然而,这样,它需要整体,而不是一块一块。 先谢谢你的帮助。
我有字符串和一组regex规则: 变为 变为 ... 如何替换多个regex匹配,而不在最后消化结果,以便最终结果为?
null 但问题是我的regex不是。
我正在尝试使用正则表达式替换单词。但不管用。 我试图只替换有一个点的单词(.)
问题内容: 我有一个字符串,想简单地用string替换其中的所有换行符。 只需写一下就足够了: 我对它的正则表达式部分感到困惑。我换行需要两个斜杠吗?这样够好吗? 问题答案: 不要使用正则表达式! 。您只需要纯文本匹配即可替换。 用于将文字字符串替换为另一个: 请注意,它仍然可以替换 所有 出现的内容,区别是使用正则表达式进行搜索。