【问题标题】:JavaScript/regex: Remove characters [duplicate]JavaScript/正则表达式:删除字符[重复]
【发布时间】:2021-03-21 17:19:26
【问题描述】:

谁能告诉我一个转换的方法

moveForward('block_id_~T_o|qZc=[B}}[p5qej5'); 
turnLeft('block_id_r21iJfS8+9W6?pnK/=sA'); 
moveForward('block_id_hDK1xef|j[E2X6N{M[}o'); 
turnRight('block_id_R9g=)oLUt|^|gPSr!XU^'); 
moveForward('block_id_AS124O%V`/$a4o6ZyhQ8');

moveForward(); 
turnLeft(); 
moveForward(); 
turnRight(); 
moveForward();

while (notDone()) {
 moveForward('block_id_p5Zhkkmn[TSboZ83#PNG');
}

while (notDone()) {
  moveForward();
}

将 JavaScript 与 Regex 或任何其他方式一起使用? 提前致谢。

【问题讨论】:

  • 是的,会的。只要你的字符串中有括号,它甚至是微不足道的。但是,如果这不是您想要的答案,请记住 follow the posting guidelines 并记住仅在 搜索网络和 stackoverflow 以获取答案后发布。这个问题之前已经被问过很多次了,所以听起来你还没有先搜索答案。
  • 您是否尝试使用 javascript 编辑 javascript 源代码?
  • 正则表达式很简单。 regex101.com/r/ZwdwIr/1你可以在任何可以处理正则表达式的编辑器中使用它。

标签: javascript regex


【解决方案1】:

不知道为什么要在代码中使用看起来像代码的字符串,无论如何,这就是解决方案:

正则表达式:

(?<![\w])(moveForward|turnLeft|turnRight)\('[^']*'\)

JS 示例:

let str = `moveForward('block_id_~T_o|qZc=[B}}[p5qej5'); 
turnLeft('block_id_r21iJfS8+9W6?pnK/=sA'); 
moveForward('block_id_hDK1xef|j[E2X6N{M[}o'); 
turnRight('block_id_R9g=)oLUt|^|gPSr!XU^'); 
moveForward('block_id_AS124O%V\`/$a4o6ZyhQ8');

while (notDone()) {
 moveForward('block_id_p5Zhkkmn[TSboZ83#PNG');
}`

let newStr = str.replace(/(?<![\w])(moveForward|turnLeft|turnRight)\('[^']*'\)/g, "$1()");

console.log(newStr);

如果您想替换部分(实际)代码,可以使用visual studio code(或任何允许您使用正则表达式查找和替换的代码编辑器)

【讨论】:

  • 您好,很抱歉编辑问题,但我认为您的答案不会像我在编辑部分中显示的那样始终有效。
猜你喜欢
  • 1970-01-01
  • 2015-10-25
  • 2011-06-02
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 2018-01-26
相关资源
最近更新 更多