我想搜索的字符串标题值始终带有结尾的破折号或竖线以及结尾处的特定变量,例如:“是真的吗?-示例”,或“工作中不偷懒的十大方法|另一个”例”
我的最终目标是,如果任何RegExp匹配在字符串中返回正数(必须在其中提供exampleVariable),则只需调用replace函数,然后将其从管道或破折号中完全去除,如下所示:
brandNameTitle.replace((\|)?(\-)?\s`${exampleVariable}`, '');
最终结果将是“爱真实吗?”或十大不懒惰的工作方式
我知道我的正则表达式当前是错误的,并且我已经尝试过其他正则表达式的其他变体,但是我的语法是错误的。任何帮助是极大的赞赏!
最佳答案
您可以使用此正则表达式搜索:
`\\s*[|-]\\s*${exampleVariable}$`
注意在正则表达式字符串中使用双斜杠。
码:
function replTitle(brandNameTitle, exampleVariable) {
let re = new RegExp(`\\s*[|-]\\s*` + exampleVariable.replace(/\.com$/, ""));
return brandNameTitle.replace(re, "");
}
console.log(replTitle(`Is love real? - Example`, `Example.com`))
console.log(replTitle(`Top 10 Ways To Not Be Lazy at Work | Another Example`,
`Another Example`))
关于javascript - Javascript RegExp搜索带有尾随变量的pipe(|)或破折号(-),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60196856/