Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 58
1

Можно ли удалить первую строку из текста?

14.07.2023, 11:03. Показов 1400. Ответов 37
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Появился вопрос, возможно ли с помощью js удалить первую строку из текста.

Например:
"Подзаголовок
Какой-то текст".

Можно ли каким-то способом удалить "подзаголовок"?
Важно, что он может быть любой длины, но всегда будет занимать 1 строчку.

Если это нельзя реализовать с помощью js, как это можно будет реализовать другими способами?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.07.2023, 11:03
Ответы с готовыми решениями:

Дан двумерный массив, удалить строку с номером k и вставить после строки k первую строку
Дан двумерный массив, удалить строку с номером k и вставить после строки k первую строку

Имеется текстовый файл. Удалить из него третью строку,первую строку, в конце которой стоит знак ?
Имеется текстовый файл. Удалить из него третью строку,первую строку, в конце которой стоит знак ? .

Проверить можно ли из слов входящих в первую строку составить вторую строку
Даны две строки (char str1, str2), содержащие хотя бы одно слово. Проверьте, можно ли из слов,...

Проверить, можно ли из букв, входящих в первую строку, составить вторую строку
Даны две строки. Проверить, можно ли из букв, входящих в первую строку, составить вторую строку....

Считать первую строку и удалить
Доброго времени суток, столкнулся с такой проблемой, мне нужно считать с файла первую строку и...

37
113 / 115 / 19
Регистрация: 03.06.2022
Сообщений: 757
14.07.2023, 11:53 2
В жаваскрипт есть регекс выражения, и возможно в вашем случае их можно использовать.
1
66 / 55 / 13
Регистрация: 13.07.2020
Сообщений: 241
14.07.2023, 12:08 3
Примерно так?)
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
<h1>Подзаголовок
    Какой-то текст</h1>
 
 
</body>
<script>
    var targetStr = document.querySelector('h1');
    var result = (targetStr.innerText.split(" ").slice(1).join(" "));
    targetStr.innerText=result.toString();
    console.log(result);
</script>
</html>
0
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 58
14.07.2023, 14:19  [ТС] 4
Цитата Сообщение от DmitriyLutsenko Посмотреть сообщение
Примерно так?)
Примерно да)
Но я сейчас решил попробовать варианты с регулярным выражением.
Но и Ваш вариант рассмотрю
0
66 / 55 / 13
Регистрация: 13.07.2020
Сообщений: 241
14.07.2023, 14:25 5
Регулярку пишут, основываясь на шаблоне(паттерне)
По типу
Код
Подзаголовок(\n|\t|\ |\<br\>)Какой-то текст
Какие заголовки у Вас могут быть?
0
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 58
14.07.2023, 16:09  [ТС] 6
Цитата Сообщение от DmitriyLutsenko Посмотреть сообщение
Какие заголовки у Вас могут быть?
Разные, никак не связанные между собой.
Сейчас есть 2 поля, заголовок и текст, но так размещать не удобно. Хочу сделать так, чтобы копировать из документа текст в поле и при размещении как-то всё само распознавалось, где заголовок, а где тело текста.
0
1306 / 781 / 190
Регистрация: 19.09.2020
Сообщений: 1,993
14.07.2023, 18:33 7
PoCoMaX, в каком формате дается исходник? Это текстовый файл *.txt? Или что вы имеете ввиду под "заголовком"?
Если просто текстовый файл или текст из формы и надо удалить первую строчку тупо - это одно, если html-теги там - другое.
0
3498 / 1262 / 428
Регистрация: 24.07.2016
Сообщений: 1,888
14.07.2023, 20:26 8
Javascript
1
2
`Подзаголовок
Какой-то текст`.replace(/.*\n*/, '') // 'Какой-то текст'
1
1306 / 781 / 190
Регистрация: 19.09.2020
Сообщений: 1,993
15.07.2023, 14:03 9
Под вёндой, если файлик считать надо удалять еще и \r (#OD):

Javascript
1
text.replace(/.*(\r?\n)*/, '');
ы?
0
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 58
17.07.2023, 08:39  [ТС] 10
Извините что не отвечал, не было возможности.
Цитата Сообщение от KingdaKa Посмотреть сообщение
Если просто текстовый файл или текст из формы и надо удалить первую строчку тупо - это одно, если html-теги там - другое.
Текст вставляется из вне.
Текст без тегов, голый, может быть написан и в гугл доке и в блокноте (он чистит текст от всех тегов).
Вопрос в следующем - например есть четверостишье и надо каждую строку поместить в отдельную переменную, как это сделать? И возможно ли с помощью js?
0
1306 / 781 / 190
Регистрация: 19.09.2020
Сообщений: 1,993
17.07.2023, 09:41 11
В отдельную переменную - это может быть не лучшая идея, а вот в массив - легко. С помощью

Javascript
1
const linesArr = str.split("\n");

https://developer.mozilla.org/... ring/split
0
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 58
17.07.2023, 12:56  [ТС] 12
Цитата Сообщение от KingdaKa Посмотреть сообщение
В отдельную переменную - это может быть не лучшая идея, а вот в массив - легко. С помощью
Вы читаете мои мысли, сейчас с массивами и работает.
А если будет не одна статья, а несколько?

Пример:

Сео продвижение
Текст который подходит

SMM -что это такое
Так же какой-то текст на несколько строк


И весь этот текст копируется один раз, но js должен понять, где заголовок, а где текст.
Если предположить, что только перед вторым заголовком так же будет перевод строки, получиться ли написать некое условие, при котором первый "\n" будет разбивать первую статью на заголовок\текст, второй даст понять, что первый текст закончился и теперь будет второй и т.д.?
0
Эксперт JS
3507 / 1347 / 369
Регистрация: 14.03.2022
Сообщений: 3,225
17.07.2023, 14:41 13
Цитата Сообщение от PoCoMaX Посмотреть сообщение
А если будет не одна статья, а несколько?
Пример:
Сео продвижение
Текст который подходит

SMM -что это такое
Так же какой-то текст на несколько строк

И весь этот текст копируется один раз, но js должен понять, где заголовок, а где текст.
Как вариант...

Javascript
1
2
3
4
5
6
7
8
const txt = `Сео продвижение
Текст который подходит
 
SMM -что это такое
Так же какой-то текст на несколько строк`
 
const str = txt.replace(/(^|\n).*?\n/g, '')
console.log(str)
0
66 / 55 / 13
Регистрация: 13.07.2020
Сообщений: 241
17.07.2023, 14:47 14
Вы читаете мои мысли, сейчас с массивами и работает.
А если будет не одна статья, а несколько?

Пример:

Сео продвижение
Текст который подходит

SMM -что это такое
Так же какой-то текст на несколько строк


И весь этот текст копируется один раз, но js должен понять, где заголовок, а где текст.
Если предположить, что только перед вторым заголовком так же будет перевод строки, получиться ли написать некое условие, при котором первый "\n" будет разбивать первую статью на заголовок\текст, второй даст понять, что первый текст закончился и теперь будет второй и т.д.?
А можно уточнить, для чего такие сложности?) Просто интересно
Вы изучаете регулярки и сам js или это реальный проект?
0
Эксперт JS
3507 / 1347 / 369
Регистрация: 14.03.2022
Сообщений: 3,225
17.07.2023, 15:00 15
Можно еще вот так, по "кускам" разложить...
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
const txt = `Сео продвижение
Текст который подходит
Текст который подходит 1
Текст который подходит 2
 
SMM -что это такое
Так же какой-то текст на несколько строк
Так же какой-то текст на несколько строк 1
Так же какой-то текст на несколько строк 2`
 
const a = txt.match(/(?<=(^|\n\n).+\n)(.+(\n|$)){1,}/g)
console.log(a)
0
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 58
17.07.2023, 16:30  [ТС] 16
krvsa, можно ли тоже самое, но чтобы заголовки не удалялись, а добавлялись в массив?

Цитата Сообщение от DmitriyLutsenko Посмотреть сообщение
Вы изучаете регулярки и сам js или это реальный проект?
JS учу постольку, поскольку. Просто самоучка, а работа как раз связана с размещением многих статей, решил чуть-чуть автоматизировать в рамках своих возможностей и знаний. Вот и образовался такой вопрос.
0
Эксперт JS
3507 / 1347 / 369
Регистрация: 14.03.2022
Сообщений: 3,225
17.07.2023, 16:38 17
PoCoMaX, ты устроил какую-то угадайку...

Всего-то нужно привести пример данных, максимально похожих на реальные... И показать что из этого хотелось бы получить.
Пока же получается что то не так, то это не эдак.

В итоге возьмешь какой-то вариант и тебе другие скажут - кто такую фигнотень тебе присоветовал!

Добавлено через 1 минуту
Цитата Сообщение от PoCoMaX Посмотреть сообщение
работа как раз связана с размещением многих статей
Откуда те статьи берутся?
Их что кто-то в простом текстовом редакторе написал, разбивая "пустыми строками"?
0
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 58
17.07.2023, 16:44  [ТС] 18
Цитата Сообщение от krvsa Посмотреть сообщение
Откуда те статьи берутся?
Их что кто-то в простом текстовом редакторе написал, разбивая "пустыми строками"?
Копирайтеры пишут в гугл доке.
Цитата Сообщение от krvsa Посмотреть сообщение
Всего-то нужно привести пример данных, максимально похожих на реальные... И показать что из этого хотелось бы получить.
Примеры максимально похожие.
Кликните здесь для просмотра всего текста


Сергей Собянин сообщил об открытии еще двух поликлиник после капитального ремонта

Головное здание детской городской поликлиники № 133 на Смольной улице практически перестроили. Учреждение оснастили новейшим оборудованием. Здесь ведут прием врачи-педиатры, оториноларинголог, офтальмолог, невролог, хирург и другие специалисты. В этом медицинском учреждении помощь получают около 19 тысяч детей и подростков района Левобережный.
Первый филиал детской поликлиники № 122 на Щелковском шоссе в районе Северное Измайлово обслуживает более 14 тысяч юных пациентов. В здании установлено самое современное оборудование, в том числе цифровой рентген и офтальмологическая аппаратура, также есть хорошо оснащенный кабинет оториноларинголога.
Большое внимание было уделено благоустройству территорий. Около поликлиники в Левобережном районе обустроили игровую площадку, позже здесь высадят деревья и кустарники. Возле поликлиники в Северном Измайлове эти работы уже проведены.


Марио Фернандес определился с игровым номером

Марио Фернандес родился 19 сентября 1990 года в Сан-Паулу. Отец Марио — тренер по мини-футболу, поэтому в детстве будущий игрок «Зенита» много времени проводил на паркете.
«В Бразилии каждый ребенок рождается с мечтой стать футболистом. Да и меня всю жизнь туда тянуло. Единственное, до 16 лет я думал, что буду играть в мини-футбол», — рассказывал Фернандес.
Марио — воспитанник «Сан-Каэтано», но на профессиональном уровне не провел за него ни одного матча. В начале 2009-го юного защитника выкупил «Гремио» — большая карьера Фернандеса началась именно там. При этом сначала Марио гораздо чаще появлялся в центре обороны. «Мне не хватало физики. Я жил один, без мамы, без девушки. Не умел готовить и ел всякую ерунду: шоколадки, гамбургеры, все это запивал газировкой. В клубе об этом узнали и попросили приезжать с утра на базу, чтобы питаться правильно», — вспоминал Фернандес.
Проблемы возникали не только из-за непривычного образа жизни — Марио впервые надолго уехал из дома и тосковал по семье. Практически сразу после подписания контракта с «Гремио» он уехал из команды — вернулся только через неделю. «Это было неправильно, но не хочу раскрывать детали. Было несмешно», — говорил футболист.


Нужно чтобы заголовок и текст находились в разных массивах\переменных, чтобы можно было с ними работать, например сохранять в localStorage
0
Эксперт JS
3507 / 1347 / 369
Регистрация: 14.03.2022
Сообщений: 3,225
17.07.2023, 16:55 19
Цитата Сообщение от PoCoMaX Посмотреть сообщение
Примеры максимально похожие
Уже хорошо...

Цитата Сообщение от PoCoMaX Посмотреть сообщение
Нужно чтобы заголовок и текст находились в разных массивах\переменных, чтобы можно было с ними работать
В разных им делать нечего. Структура данных должна быть удобной.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const txt = `Сергей Собянин сообщил об открытии еще двух поликлиник после капитального ремонта
 
Головное здание детской городской поликлиники № 133 на Смольной улице практически перестроили. Учреждение оснастили новейшим оборудованием. Здесь ведут прием врачи-педиатры, оториноларинголог, офтальмолог, невролог, хирург и другие специалисты. В этом медицинском учреждении помощь получают около 19 тысяч детей и подростков района Левобережный.
Первый филиал детской поликлиники № 122 на Щелковском шоссе в районе Северное Измайлово обслуживает более 14 тысяч юных пациентов. В здании установлено самое современное оборудование, в том числе цифровой рентген и офтальмологическая аппаратура, также есть хорошо оснащенный кабинет оториноларинголога.
Большое внимание было уделено благоустройству территорий. Около поликлиники в Левобережном районе обустроили игровую площадку, позже здесь высадят деревья и кустарники. Возле поликлиники в Северном Измайлове эти работы уже проведены.
 
 
Марио Фернандес определился с игровым номером
 
Марио Фернандес родился 19 сентября 1990 года в Сан-Паулу. Отец Марио — тренер по мини-футболу, поэтому в детстве будущий игрок «Зенита» много времени проводил на паркете.
«В Бразилии каждый ребенок рождается с мечтой стать футболистом. Да и меня всю жизнь туда тянуло. Единственное, до 16 лет я думал, что буду играть в мини-футбол», — рассказывал Фернандес.
Марио — воспитанник «Сан-Каэтано», но на профессиональном уровне не провел за него ни одного матча. В начале 2009-го юного защитника выкупил «Гремио» — большая карьера Фернандеса началась именно там. При этом сначала Марио гораздо чаще появлялся в центре обороны. «Мне не хватало физики. Я жил один, без мамы, без девушки. Не умел готовить и ел всякую ерунду: шоколадки, гамбургеры, все это запивал газировкой. В клубе об этом узнали и попросили приезжать с утра на базу, чтобы питаться правильно», — вспоминал Фернандес.
Проблемы возникали не только из-за непривычного образа жизни — Марио впервые надолго уехал из дома и тосковал по семье. Практически сразу после подписания контракта с «Гремио» он уехал из команды — вернулся только через неделю. «Это было неправильно, но не хочу раскрывать детали. Было несмешно», — говорил футболист.`
 
let a = txt.split(/\n{3}/)
a = a.map(s => {
    const [t, p] = s.split(/\n\n/)
    return {t, p}
})
console.log(a)
0
66 / 55 / 13
Регистрация: 13.07.2020
Сообщений: 241
17.07.2023, 16:59 20
Может, попробовать размечать текст в гуглдоке?

Парсить будет легче и гадать не придется, к чему относится та или иная строка - к заголовку или к контенту.

Тут есть один момент, который нужно держать в голове, если парсить все без разметки:
Случайно, к примеру, забудь написать подзаголовок и тогда все последующие статьи поломаются: вместо заголовка будет контент, а в контенте заголовок следующей статьи.


Код
TITLE:Сергей Собянин сообщил об открытии еще двух поликлиник после капитального ремонта

DESCRIPTION:Головное здание детской городской поликлиники № 133 на Смольной улице практически перестроили. Учреждение оснастили новейшим оборудованием. Здесь ведут прием врачи-педиатры, оториноларинголог, офтальмолог, невролог, хирург и другие специалисты. В этом медицинском учреждении помощь получают около 19 тысяч детей и подростков района Левобережный.
Первый филиал детской поликлиники № 122 на Щелковском шоссе в районе Северное Измайлово обслуживает более 14 тысяч юных пациентов. В здании установлено самое современное оборудование, в том числе цифровой рентген и офтальмологическая аппаратура, также есть хорошо оснащенный кабинет оториноларинголога.
Большое внимание было уделено благоустройству территорий. Около поликлиники в Левобережном районе обустроили игровую площадку, позже здесь высадят деревья и кустарники. Возле поликлиники в Северном Измайлове эти работы уже проведены.


TITLE:Марио Фернандес определился с игровым номером

DESCRIPTION:Марио Фернандес родился 19 сентября 1990 года в Сан-Паулу. Отец Марио — тренер по мини-футболу, поэтому в детстве будущий игрок «Зенита» много времени проводил на паркете.
«В Бразилии каждый ребенок рождается с мечтой стать футболистом. Да и меня всю жизнь туда тянуло. Единственное, до 16 лет я думал, что буду играть в мини-футбол», — рассказывал Фернандес.
Марио — воспитанник «Сан-Каэтано», но на профессиональном уровне не провел за него ни одного матча. В начале 2009-го юного защитника выкупил «Гремио» — большая карьера Фернандеса началась именно там. При этом сначала Марио гораздо чаще появлялся в центре обороны. «Мне не хватало физики. Я жил один, без мамы, без девушки. Не умел готовить и ел всякую ерунду: шоколадки, гамбургеры, все это запивал газировкой. В клубе об этом узнали и попросили приезжать с утра на базу, чтобы питаться правильно», — вспоминал Фернандес.
Проблемы возникали не только из-за непривычного образа жизни — Марио впервые надолго уехал из дома и тосковал по семье. Практически сразу после подписания контракта с «Гремио» он уехал из команды — вернулся только через неделю. «Это было неправильно, но не хочу раскрывать детали. Было несмешно», — говорил футболист.
0
17.07.2023, 16:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2023, 16:59
Помогаю со студенческими работами здесь

Удалить первую строку из файла
а как удалить строку с текстового фала, так что бы, последующие строчки сместились на позицию...

Удалить первую строку из файла
Доброго времени суток. Проблема такая мне надо из файла удалить первую строку как я это делаю:...

Удалить первую строку из TextBox
Подскажите пожалуйста как в Паскале ABC(Не NET) удалить первую строку из TextBox... Добавлено...

Удалить первую строку из файла
Есть файл содержащий строки(файл небольшой) Работаю в Visual Studio(не знаком с SQL)

Удалить из массива первую строку
int n = 5; int a = new int; Random rnd = new Random(); for...

Удалить первую строку в файле
Возможно ли удалить только что записанную первую строку в файл? Записывать обязательно :) :) Или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru