为了账号安全,请及时绑定邮箱和手机立即绑定

使用 JavaScript / Regex 替换 >>(双大于号)

使用 JavaScript / Regex 替换 >>(双大于号)

慕后森 2022-12-29 09:57:51
我需要将“>>”替换为“/” String : Test 2 >> Cat >> Cat2 将变为:Test 2/Cat/Cat2请知道我花了很多时间阅读所有堆栈溢出和访问小提琴,但我无法做到这一点。我使用了在线 Regex 工具https://regex101.com/和 https://regexr.com/,他们确认 RegEx 没问题。这些中的每一个都在 Regex 测试工具中测试为阳性,但我仍然没有得到我期望的结果。我无法共享代码,但这里有一个演示。<span id="catidX"> Test 2 >> Cat >> Cat2 >> Cat4 || //// Cat /// Cat2 // Cat4 // CCat / CCat2 // CCat3 ///</span><script>   var str = document.getElementById("catidX").innerHTML;     //var resA = str.replace(/[>]{2,}/g, "/");    - Attempt    //var resA = str.replace([>]{2,}/g, "/");     - Attenmpt    //var resA = str.replae(/>{2,}/g, "/");     - Attenmpt    var resA = str.replace(/>>|>{2,}/g, "/");         var resB = resA.replace(/\/\//g, "/");    document.getElementById("catidX").innerHTML = resB;</script>上面的代码产生了结果Test 2 >> Cat >> Cat2 >> Cat4 >> Detail || -- Cat -/ Cat2 - Cat4 - || CCat / CCat2 - CCat3 -/我只是将它传递给 replace 以查看字符串两部分的结果。更新根据用户的一条有用评论 - 我添加了 console.log(resB) 以查看输出的内容......这不是 > 但 html for > - >有了这些信息 - 我编辑了那行但仍然没有成功var resA = str.replace(/&gt;{2,}/g,"/");
查看完整描述

4 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

let str = 'Test 2 &gt;&gt; Cat >> Cat2 &gt;> Cat4 || //// Cat /// Cat2 // Cat4 // CCat / CCat2 // CCat3 ///';

res = str.replace(/(?:>|&gt;){2,}|\/\/+/g, '/');

console.log(res);

  • (?:>|&gt;){2,}是匹配2个或更多“大于”>或html实体的非捕获组&gt;

  • \/\/+匹配 2 个或更多斜杠


查看完整回答
反对 回复 2022-12-29
?
月关宝盒

TA贡献1772条经验 获得超5个赞

您可以使用以下正则表达式:

/([>]{2})(?=[\s])+/g


查看完整回答
反对 回复 2022-12-29
?
白板的微信

TA贡献1883条经验 获得超3个赞

以下是我将如何做到这一点:您将需要replace()使用一个正则表达式来调用,该正则表达式在全局范围内匹配所有>>使用g修饰符的事件:


let newText = oldText.replace(/>>/g, "/");

let btn = document.querySelector("#start");

let span = document.querySelector("#catidX");


btn.addEventListener("click", function() {


  let oldText = span.innerText;

  let newText = oldText.replace(/>>/g, "/");

  span.innerText = newText;



});

<span id="catidX"> Test 2 >> Cat >> Cat2 >> Cat4 || //// Cat /// Cat2 // Cat4 // CCat / CCat2 // CCat3 ///</span>

<br />

<button id="start">Replace</button>


查看完整回答
反对 回复 2022-12-29
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

试试这个代码


var str = "Test 2 >> Cat >> Cat2 >> Cat4"

str.replace(/>>/gi, "/");


result : "Test 2 / Cat / Cat2 / Cat4"


查看完整回答
反对 回复 2022-12-29
  • 4 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信