Убрать текст абзаца перед ключевым словом - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть такой текст:

Last login: today


cat file
testMachine:root:/root# cat file
File contents
testMachine:root:/root#

И мне нужно получить такую ​​информацию:

testMachine:root:/root# cat file
File contents

Удаление последней строки легко, но количество Строки, которые мне нужно удалить при запуске, являются произвольными, и мне нужно удалить все до первого ключевого слова, которое является именем машины, которое известно и сохранено.

Я пробовал substring(), но он удаляет построчно, вместо того, чтобы рассматривать весь текст как один, а также удаляет имя хоста, которое должно остаться там. Я тоже пытался replace(), но я не знаком с регулярными выражениями, поэтому результатом является исключение памяти.

РЕДАКТИРОВАТЬ 1: Кажется, важно отметить, что использование JS для Java движка (В данном случае я использую Rhino) означает, что результат не такой, как в Интернете. Это выяснилось после ответа ниже, который отлично работает в Интернете, даже не запускается в настольном приложении.

1 Ответ

1 голос
/ 17 апреля 2020

const text = ` 
Last login: today


cat file
testMachine:root:/root# cat file
File contents
testMachine:root:/root#`;
const cueWord = "testMachine:root"
const idx = text.indexOf(cueWord);
let restOftheString = text.substring(idx).split("\n");
restOftheString.pop()
console.log(restOftheString.join("\n"))
...