@GhostZ said in Как из строки удалить все Эмодзи?:
[[TEXT]] = [[TEXT]].replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g, '');
да, это помогло, спасибо
Есть строка:
ago 9 minutes, 37 seconds 66,141 views
Как удалить только то что я на скрине выделил желтым:

Чтоб осталось так:
ago66,141 views
То есть нужно регуляркой удалить (жирным выделил): ago любые символы 66,141 views
Написал регулярку Регулярные выражения -> Заменить строку.
Но она удаляет всё что после ago
ago+([\s\S]+)\d+[\s\S]+views+
@mik888em said in Как удалить середину строки регуляркой?:
Есть строка:
ago 9 minutes, 37 seconds 66,141 viewsКак удалить только то что я на скрине выделил желтым:
Чтоб осталось так:ago66,141 viewsНаписал регулярку Регулярные выражения -> Заменить строку.
Но она удаляет всё что после agoago+([\s\S]+)\d+[\s\S]+views+
В модуле для обработки строк есть команда текст между. Определяем текст между ago и seconds, удаляем его командой замены текста на пустой текст, затем также удаляем слово seconds.
@mik888em проще тогда получать последние числа в строке (просмотры). Ago дописывать, если надо.
Регулярку не скажу, но строкой сначала отрезаем « views», а потом все после первого пробела с конца. Или регуляркой с конца до пробела берем.
(?<=ago).+?(?=\d+,\d+\s+views)
@Vituskosoy said in Как удалить середину строки регуляркой?:
(?<=ago).+?(?=\d+,\d+\s+views)
Попробовал, но
регулярка
(?<=ago).+?(?=\d+,\d+\s+views)
работает отлично для:
ago 9 minutes, 37 seconds 66,141 views
получаю:
2 years ago66,141 views
Не работает для таких (никак не меняет строку) :
ago 1 hour, 10 minutes 717 views
ago 46 seconds 405 views
@mik888em
@mik888em said in Как удалить середину строки регуляркой?:
@smeckoi77 Регуляркой нужно, т. к. текст 9 minutes, 37 seconds может быть любой.
То есть нужно регуляркой удалить (жирным выделил): ago любые символы 66,141 views
Так мы этот текст и определяем, чтобы его удалить после.
@mik888em said in Как удалить середину строки регуляркой?:
Есть строка:
ago 9 minutes, 37 seconds 66,141 viewsКак удалить только то что я на скрине выделил желтым:
Чтоб осталось так:ago66,141 viewsТо есть нужно регуляркой удалить (жирным выделил): ago любые символы 66,141 views
Написал регулярку Регулярные выражения -> Заменить строку.
Но она удаляет всё что после agoago+([\s\S]+)\d+[\s\S]+views+
Или определить Текст между second и views, а дальше уже скомпоновать.
(?<=ago).+?(?=\d+(,\d+)?\s+views)
@Vituskosoy said in Как удалить середину строки регуляркой?:
(?<=ago).+?(?=\d+,\d+\s+views)
немного изменил Вашу регулярку и получил решение которое работает для всех вариантов удаления между ago и цифрой просмотров (т.е. с запятой в цифре и без неё)
Вот регулярка готовая:
(?<=ago).+?(?=\s+\d+[,|\d+]\d+\s+views)
@mik888em said in Как удалить середину строки регуляркой?:
ago 9 minutes, 37 seconds 66,141 views
lol Scammer,
You could just parse string by spaces and use last 2 elements from parsed list.
First element is always the same anyway, - ago. Even very last is always the same,
so you just need that number of views which is one before last.
But you wanted regex lol.