繁体   English   中英

删除字符串REGEX中的正斜杠但不删除日期格式

[英]Remove forward slash but not date format in a string REGEX

我有以下格式的字符串

Pending status started at 11/03/2019 11:32
User: XY_Z
moj/f112
Reason: Linked to Major/P1 Ticket

在上述情况下,我想删除moj/f112Major/P1中的正斜杠(/),但不删除日期11/03/2019

我尝试了\\D\\/\\D/ig但是它将选择所有的正斜杠并进行了一些试验,例如^(\\d{2}\\/\\d{2}\\/\\d{4})(and ?)\\D\\/\\D/ig 我不习惯使用正则表达式,并且运行时间很短。

有什么帮助吗?

非常感谢。 :)

您可以使用此交替正则表达式先匹配并分组要保留的内容,然后匹配/作为交替中的最后一个选项:

 var str = `Pending status started at 11/03/2019 11:32 User: XY_Z moj/f112 Reason: Linked to Major/P1 Ticket` var re = /(\\b(?:\\d{1,2}\\/){2}\\d{4}\\b)|\\// var repl = str.replace(re, '$1') console.log(repl) 

正则演示

此正则表达式将匹配{斜杠+两位数字+斜杠}和其余的斜杠,然后我们可以替换其余的斜杠。

const str = `Pending status started at 11/03/2019 11:32
User: XY_Z
moj/f112
Reason: Linked to Major/P1 Ticket`;

const regex = /(\/\d{2}\/)|\//g;
let modifiedStr = str.replace(regex, '$1');
console.log(modifiedStr)

工作实例

这是另一种选择。

 var str = `Pending status started at 11/03/2019 11:32 User: XY_Z moj/f112 Reason: Linked to Major/P1 Ticket`; var newString = str.replace(/[^\\d{1,2}\\/\\d{1,2}\\/\\d{4}]\\//gm, ''); console.log(newString); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM