Удалить текст в строке +18 символов после него
есть строка
var str="null++test alert system1_20191109110452333++test alert system_20191109110452444++test ии аа_20191109110452555" нужно найти и удалить в ней все "++test alert system1" и 18 символов после каждого найденного. То есть в итоге хочу получить str="null++test alert system_20191109110452444++test ии аа_20191109110452555" строка всегда начинается на null |
sovsem-nub,
let str="null++test alert system1_20191109110452333++test alert system_20191109110452444++test ии аа_20191109110452555"; let txt = "++test alert system1"; let test = "null++test alert system_20191109110452444++test ии аа_20191109110452555" const escapeRegExp = string => string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); const fn = (str, txt) =>{ const reg = new RegExp( escapeRegExp(txt) + ".{18}", "g"); return str.replace(reg, "") } alert(test == fn(str, txt)); |
спасибо! это действительно круто.
долго не мог понять что такое =>, потом txt.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") думал, что это прикол какой-то. Потом понял, что это мои плюсики и другие символы экранирует. let str="null++test alert system1_20191109110452333++test alert system_20191109110452444++test ии аа_20191109110452555"; let txt = "++test alert system1"; let test = "null++test alert system_20191109110452444++test ии аа_20191109110452555" function fn(str, txt){ // reg = new RegExp(txt.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") + ".{18}", "g"); return str.replace(/\+\+test alert system1.{18}/g, "") } alert(test == fn(str, txt)); |
Часовой пояс GMT +3, время: 15:50. |