Используйте этот RegExp
для сопоставления текста, который вам не нужен:
[^ ]{20,}
Он соответствует нежелательным строкам, потому что это единственные последовательности символов, которые продолжаются в минимум 20
символов без пробела.
[^ ]
означает отсутствие пробела. {20,}
означает повторение не менее 20
раз.
Затем .split()
вся строка с использованием нежелательного текста в качестве разделителя.
[
'this was the url SERVER_UPLOAD_FILE_PATH____::5e2650c2-728c-40af-99a4eb100c432091.png____SERVER_UPLOAD_END click here to view details',
'SERVER_UPLOAD_FILE_PATH____::68d37b07-d694-47af-a16a-8adbe400ac67.png____SERVER_UPLOAD_END Hector where are you Hello world how are you',
'SERVER_UPLOAD_FILE_PATH____::ad4d7360-9c6c-44fa-bcbb-0db7e671e036.png____SERVER_UPLOAD_END Execuse Me'
].map(s => s.split(s.match(/[^ ]{20,}/)))
.flat()
.map(s => s.trim())
.filter(Boolean)
.forEach(s => console.log(s));