如何在javascript中删除两个单词之间的字符串。
var myString="?specs=f_demo%3a8+GB!!4!!||f_test%3a2+GB!!2!!||f_test%3a4+GB!!3!!||f_demo%3a8+GB!!4!!||f_demo%3a16+GB!!5!!||||Category:Notebooks"
我想删除所有单词以" f_test"开头并以" ||"。
结束输出字符串如:
?specs=f_demo%3a8+GB!!4!!||f_demo%3a8+GB!!4!!||f_demo%3a16+GB!!5!!||||Category:Notebooks"
谢谢!
答案 0 :(得分:1)
使用 String#replace
方法,使用正则表达式 /f_test[^|]+\|\|/g
(或 /f_test.+?\|\|/g
)
var myString = "?specs=f_demo%3a8+GB!!4!!||f_test%3a2+GB!!2!!||f_test%3a4+GB!!3!!||f_demo%3a8+GB!!4!!||f_demo%3a16+GB!!5!!||||Category:Notebooks";
console.log(
myString.replace(/f_test[^|]+\|\|/g, '')
)
更新:如果从字符串变量加载test
,则使用 RegExp
构造函数生成正则表达式。
var k = "test",
myString = "?specs=f_demo%3a8+GB!!4!!||f_test%3a2+GB!!2!!||f_test%3a4+GB!!3!!||f_demo%3a8+GB!!4!!||f_demo%3a16+GB!!5!!||||Category:Notebooks";
console.log(
myString.replace(RegExp('f_' + k + '[^|]+\\|\\|', 'g'), '')
)