和正则表达式中的运算符?

时间:2019-03-26 11:30:27

标签: javascript regex

我有一个带有特殊标记的字符串,我想删除它们。

这是我的字符串:

let message='Hello my name is /# Jane #/, if from /# company#/'. Could you please call me back .

现在我正试图删除此/#---#/标记

message.replace(/#/g, "")

但是如何在正则表达式中添加“ AND”运算符也删除“ /”。

2 个答案:

答案 0 :(得分:3)

或更具体地讲(替换/##/):

message.replace(/\/#|#\//g, "")

(您必须使用/转义\/

另一种更复杂的方法,根据您的用例,该方法可能有效也可能无效:

let message = 'Hello my name is /# Jane #/, if from /# company#/. Could you please call me back.';
// replace in pairs and take care of extra whitespace
let regex = /\/#\s*(\w+)\s*#\//g;
message = message.replace(regex, "$1");
console.log(message);

答案 1 :(得分:0)

使用字符类:

message.replace(/[#\/]/g, "")

let message='Hello my name is /# Jane #/, if from /# company#/. Could you please call me back .';
console.log(message.replace(/[#\/]/g, ""));

如果仅当字符#/靠近时才删除它们,请使用以下命令,它还会替换多余的空格

let message='Hello my name is /# Jane #/, if from /# company#/. Could you please call me back .';
console.log(message.replace(/\/#\s*|\s*#\//g, ""));