我具有以下格式的字符串
Pending status started at 11/03/2019 11:32
User: XY_Z
moj/f112
Reason: Linked to Major/P1 Ticket
在上述情况下,我想删除moj/f112
和Major/P1
中的正斜杠(/),但不要删除日期11/03/2019
。
我尝试了\D\/\D/ig
,但是它将选择所有正斜杠并进行了类似^(\d{2}\/\d{2}\/\d{4})(and ?)\D\/\D/ig
的试验。
我不习惯使用正则表达式,并且运行时间很短。
有什么帮助吗?
非常感谢。 :)
答案 0 :(得分:1)
您可以使用此交替正则表达式首先匹配并分组要保留的内容,然后将/
匹配为交替中的最后一个选项:
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)
答案 1 :(得分:1)
此正则表达式将匹配{斜杠+两位数字+斜杠}和其余的斜杠,然后我们可以替换其余的斜杠。
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)
答案 2 :(得分:1)
这是另一种选择。
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);