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

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

14.07.2023, 11:03. Показов 1398. Ответов 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
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 58
17.07.2023, 18:05  [ТС] 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от krvsa Посмотреть сообщение
В разных им делать нечего. Структура данных должна быть удобной.
Тогда я не понимаю, как сделать так, чтобы можно было вставить их в 2 поля.

То что уже есть на данный момент
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<div class="main_block">
  <div class="block_unput">   
    <div class="input_text">
    <input type="text" name="auto_name" id="auto_name" placeholder="Name">
      </div>
    <div class="input_textarea">
    <textarea type="textarea" name="auto_textarea" id="auto_textarea" placeholder="Text">
      </textarea>
      </div>
    <button id="saved_button" onclick="saveReview()">Тыкалка</button>
    <button id="saved_button2" onclick="review()">Размещалка</button>
  </div>
</div>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
html, body {
  background: #000;
  margin: 0;
  padding: 0;  
}
 
.main_block{
  background:#c0c0c0;
  width: 500px;
  height:350px;    
  margin:auto;
}
 
.block_unput {
  padding:10px;
}
 
#auto_name {
  width:50%;
  padding:15px;
}
 
#auto_textarea {
  width:50%;
  padding:25px;
  margin: 10px 0 0 0;
}
 
#saved_button,#saved_button2 {
  padding:20px;
  border-radius:10px;
  outline:1px solid #000;
}
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
let autoName = document.getElementById('auto_name');
let autoTextarea = document.getElementById('auto_textarea');
let button = document.getElementById('saved_button');
let button2 = document.getElementById('saved_button2');
let reviewName = [];
let reviewText = [];
 
function saveReview(){   
  reviewName.push(autoName.value);
  reviewText.push(autoTextarea.value);
  localStorage.setItem('reviewName', JSON.stringify(reviewName));
  localStorage.setItem('reviewText', JSON.stringify(reviewText)); 
};
 
function review(){          
  localStorage.setItem('reviewName', JSON.stringify(reviewName));
  localStorage.setItem('reviewText', JSON.stringify(reviewText));
  reviewName = JSON.parse(localStorage.getItem('reviewName'));  
  console.log(reviewName.pop(), reviewText.pop())
};


Нужно примерно тоже самое, только сократить до 1-ого поля.
0
Эксперт JS
3507 / 1347 / 369
Регистрация: 14.03.2022
Сообщений: 3,225
17.07.2023, 22:36 22
Цитата Сообщение от PoCoMaX Посмотреть сообщение
Тогда я не понимаю, как сделать так, чтобы можно было вставить их в 2 поля.
Как-то так можно...

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style>
html, body {
  background: #000;
  margin: 0;
  padding: 0;  
}
 
.main_block{
  background:#c0c0c0;
  width: 500px;
  height:350px;    
  margin:auto;
}
 
.block_unput {
  padding:10px;
}
 
#auto_name {
  width:50%;
  padding:15px;
}
 
#auto_textarea {
  width:50%;
  padding:25px;
  margin: 10px 0 0 0;
}
 
#saved_button,#saved_button2 {
  padding:20px;
  border-radius:10px;
  outline:1px solid #000;
}
#def {
    display: none;
}
</style>
</head>
<body>
<form></form>
<div id='def'>
    <div class="main_block">
        <div class="block_unput">   
            <div class="input_text">
                <input type="text" name="auto_name" class="auto_name" placeholder="Name">
            </div>
            <div class="input_textarea">
                <textarea type="textarea" name="auto_textarea" class="auto_textarea" placeholder="Text">
                </textarea>
            </div>
            <button id="saved_button" onclick="saveReview()">Тыкалка</button>
            <button id="saved_button2" onclick="review()">Размещалка</button>
        </div>
    </div>
</div>
 
   
<script>
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)
const op = document.querySelector('form')
const od = document.querySelector('#def .main_block')
a.forEach(o => {
    const ob = od.cloneNode(true)
    ob.querySelector('.auto_name').value = o.t
    ob.querySelector('.auto_textarea').value = o.p
    op.insertAdjacentElement('beforeend', ob)
})
</script>
 
</body>
</html>
Только тут при копировании пробелы добавляются к пустым строкам... Нужно будет их удалить перед запуском.
1
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 58
18.07.2023, 07:37  [ТС] 23
Появился такой вопрос, а если текст перевести в json, будет ли возможно и удобнее его раздробить?
0
89 / 74 / 24
Регистрация: 16.05.2023
Сообщений: 268
18.07.2023, 08:08 24
Цитата Сообщение от PoCoMaX Посмотреть сообщение
а если текст перевести в json
У вас есть мандарин, он один, а вас..Кхм не то. . В общем вы его положили в коробку, но что бы его порезать, нужно из коробки достать. По факту тот же самый мандирин, только в коробке.

Добавлено через 1 минуту
Создайте простую html страницу, с каким нибудь редактором. И сразу в редакторе помечайте где заголовок, а где текст. А потом уже каким нибудь DOM его парсить уже как html структуру
0
Эксперт JS
3507 / 1347 / 369
Регистрация: 14.03.2022
Сообщений: 3,225
18.07.2023, 08:50 25
Цитата Сообщение от PoCoMaX Посмотреть сообщение
а если текст перевести в json, будет ли возможно и удобнее его раздробить?
Еще одна угадайка?
0
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 58
18.07.2023, 09:01  [ТС] 26
Цитата Сообщение от krvsa Посмотреть сообщение
Еще одна угадайка?
Не совсем Вас понял.
Вопрос в том, что если текст поместить в json можно ли его так же разделить на заголовок\текст как Вы предложили ранее?
0
89 / 74 / 24
Регистрация: 16.05.2023
Сообщений: 268
18.07.2023, 09:11 27
Цитата Сообщение от PoCoMaX Посмотреть сообщение
если текст поместить в json
Загадка в том - каким образом ? Но скорее, мне кажется взять тот самый текст, и просто {jsonText:text}

Добавлено через 1 минуту
Javascript
1
2
3
4
let text = 'Длинный текст  ...';
let json = {jsonText:text};
console.log(text);
console.log(json.jsonText);
Логичный исход ведь)
0
66 / 55 / 13
Регистрация: 13.07.2020
Сообщений: 241
18.07.2023, 09:16 28
Цитата Сообщение от PoCoMaX Посмотреть сообщение
Вопрос в том, что если текст поместить в json можно ли его так же разделить на заголовок\текст как Вы предложили ранее?
Смотря, как Вы будете текст размещать:

JSON
1
2
3
4
{
    "article1":{"title": "Заголовок1", "description": "Мой контент1"},
    "article2":{"title": "Заголовок2", "description": "Мой контент2"}
}
Или так:
JSON
1
2
3
4
{
    "Заголовок1":{ "description": "Мой контент1"},
    "Заголовок2":{ "description": "Мой контент2"}
}
Добавлено через 2 минуты
Я вот тут писал про разметку в самом гуглдоке. Такой вариант совсем не подходит?
Цитата Сообщение от DmitriyLutsenko Посмотреть сообщение
Может, попробовать размечать текст в гуглдоке?
Парсить будет легче и гадать не придется, к чему относится та или иная строка - к заголовку или к контенту.
Тут есть один момент, который нужно держать в голове, если парсить все без разметки:
Случайно, к примеру, забудь написать подзаголовок и тогда все последующие статьи поломаются: вместо заголовка будет контент, а в контенте заголовок следующей статьи.
Код
TITLE:Сергей Собянин сообщил об открытии еще двух поликлиник после капитального ремонта
DESCRIPTION:Головное здание детской городской поликлиники № 133 на Смольной улице практически перестроили. Учреждение оснастили новейшим оборудованием. Здесь ведут прием врачи-педиатры, оториноларинголог, офтальмолог, невролог, хирург и другие специалисты. В этом медицинском учреждении помощь получают около 19 тысяч детей и подростков района Левобережный.
Первый филиал детской поликлиники № 122 на Щелковском шоссе в районе Северное Измайлово обслуживает более 14 тысяч юных пациентов. В здании установлено самое современное оборудование, в том числе цифровой рентген и офтальмологическая аппаратура, также есть хорошо оснащенный кабинет оториноларинголога.
Большое внимание было уделено благоустройству территорий. Около поликлиники в Левобережном районе обустроили игровую площадку, позже здесь высадят деревья и кустарники. Возле поликлиники в Северном Измайлове эти работы уже проведены.
TITLE:Марио Фернандес определился с игровым номером
DESCRIPTION:Марио Фернандес родился 19 сентября 1990 года в Сан-Паулу. Отец Марио — тренер по мини-футболу, поэтому в детстве будущий игрок «Зенита» много времени проводил на паркете.
«В Бразилии каждый ребенок рождается с мечтой стать футболистом. Да и меня всю жизнь туда тянуло. Единственное, до 16 лет я думал, что буду играть в мини-футбол», — рассказывал Фернандес.
Марио — воспитанник «Сан-Каэтано», но на профессиональном уровне не провел за него ни одного матча. В начале 2009-го юного защитника выкупил «Гремио» — большая карьера Фернандеса началась именно там. При этом сначала Марио гораздо чаще появлялся в центре обороны. «Мне не хватало физики. Я жил один, без мамы, без девушки. Не умел готовить и ел всякую ерунду: шоколадки, гамбургеры, все это запивал газировкой. В клубе об этом узнали и попросили приезжать с утра на базу, чтобы питаться правильно», — вспоминал Фернандес.
Проблемы возникали не только из-за непривычного образа жизни — Марио впервые надолго уехал из дома и тосковал по семье. Практически сразу после подписания
0
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 58
18.07.2023, 09:34  [ТС] 29
Цитата Сообщение от DmitriyLutsenko Посмотреть сообщение
Я вот тут писал про разметку в самом гуглдоке. Такой вариант совсем не подходит?
К сожалению этот вариант не вариант, иначе возможно вопроса бы подобного и не возникло.
Цитата Сообщение от Hmms Посмотреть сообщение
Загадка в том - каким образом ?
Вот у меня такой же вопрос. Знаю просто что в json можно всякое разное засунуть, поэтому и спросил.

Всем спасибо за предложения и отклик.
0
Эксперт JS
3507 / 1347 / 369
Регистрация: 14.03.2022
Сообщений: 3,225
18.07.2023, 10:04 30
Цитата Сообщение от PoCoMaX Посмотреть сообщение
Вопрос в том, что если текст поместить в json можно ли его так же разделить на заголовок\текст как Вы предложили ранее?
Это и есть угадайка...

Какой текст?
Зачем из текста делать другой текст но в формате JSON?

Вот у меня есть текст... Я его "поместил в JSON"... Найди два отличия.
Javascript
1
2
3
4
const txt = 'Пример текста'
const val = JSON.stringify(txt)
console.log(txt)
console.log(val)
Что тут мне сможет облегчить обработку?

Добавлено через 6 минут
Цитата Сообщение от PoCoMaX Посмотреть сообщение
Знаю просто что в json можно всякое разное засунуть
Далеко не всякое...

И делается это не для "быстроты" или "удобства" обработки.
Запись в строку формата JSON делается для передачи данных или их записи на "устройство". Т.к. там предусмотрена работа исключительно со строками.

Выше был пример с апельсином - считаю его очень удачным для этого случая.
0
66 / 55 / 13
Регистрация: 13.07.2020
Сообщений: 241
18.07.2023, 10:13 31
Цитата Сообщение от krvsa Посмотреть сообщение
Сообщение от PoCoMaX
Вопрос в том, что если текст поместить в json можно ли его так же разделить на заголовок\текст как Вы предложили ранее?
Это и есть угадайка...
Какой текст?
Зачем из текста делать другой текст но в формате JSON?
Вот у меня есть текст... Я его "поместил в JSON"... Найди два отличия.
Javascript
1
2
3
4
const txt = 'Пример текста'
const val = JSON.stringify(txt)
console.log(txt)
console.log(val)
Что тут мне сможет облегчить обработку?
Разницы, что очевидно, нет.

Так что ТС, облегчить обработку текста способна:
  • Разметка исходного текста: хоть парные теги, хоть один токен для обработки регуляркой
  • Изначально нужно весь текст переносить в таблицу с 2-мя колонками(title, description)
  • Перенос все в БД и оттуда аяксом тянуть статьи.
0
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 58
18.07.2023, 10:30  [ТС] 32
Цитата Сообщение от krvsa Посмотреть сообщение
Какой текст?
Зачем из текста делать другой текст но в формате JSON?
1. Тот который был ранее.
2. Не знаю, поэтому и спрашиваю.
Цитата Сообщение от DmitriyLutsenko Посмотреть сообщение
Перенос все в БД и оттуда аяксом тянуть статьи.
Нету доступа к бд, единственный способ запустить скрипт это Tampermonkey. Хотя может есть и другие, но я пользуюсь этим.

Итак вывод. Поправьте если я не прав, чтобы было удобней, проще всего редактировать сам текст? Выделять заголовки, прописывать таблицей или добавлять какие-либо обозначения, по которым можно будет искать заголовки\текст.
0
89 / 74 / 24
Регистрация: 16.05.2023
Сообщений: 268
18.07.2023, 10:43 33
Удивительно! Но Форум ломает код приведённый

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
const text = `> Заголовок страница
Он такой вот такой
 
< Содержание
Оно такое то такое`;
 
const regex = /^> (.*?)\n\n< (.+)/s;
const match = regex.exec(text);
const title = match && match[1];
const content = match && match[2];
 
console.log(title);
console.log(content);
Добавлено через 16 секунд
По сути

> Заголовок страница
Он такой вот такой

< Содержание
Оно такое то такое
Вложения
Тип файла: txt testCode.txt (338 байт, 9 просмотров)
0
66 / 55 / 13
Регистрация: 13.07.2020
Сообщений: 241
18.07.2023, 10:44 34
Цитата Сообщение от PoCoMaX Посмотреть сообщение
Итак вывод. Поправьте если я не прав, чтобы было удобней, проще всего редактировать сам текст? Выделять заголовки, прописывать таблицей или добавлять какие-либо обозначения, по которым можно будет искать заголовки\текст.
Да, именно так.

Парсинг, основанный на переходе на новую строку прост, но ему будет абсолютно все равно на контекст, я вот могу по ошибке написать 2 подряд идущих заголовка, а парсер отработает его как обычно, вот в гугл доке будет что-то такое:
Код
Заголовок1

Заголовок2

Я текст заголовка 2

Заголовок3
Получите потом такой результат:

HTML5
1
2
3
4
5
6
7
8
<article>
<h2>Заголовок1</h2>
<p>Заголовок2</p>
</article>
<article>
<h2>Я текст заголовка 2</h2>
<p>Заголовок3</p>
</article>
Когда Вы текст оборачиваете в теги или прописываете ключевой токен, то Вам и парсить текст будет легче и обрабатывать ошибки, о которых написал выше, будет проще (У меня, к примеру, не может идти подряд 2 заголовка или 2 описания, 2-е описание/заголовок пропускается)
0
Эксперт JS
3507 / 1347 / 369
Регистрация: 14.03.2022
Сообщений: 3,225
18.07.2023, 10:45 35
Цитата Сообщение от PoCoMaX Посмотреть сообщение
чтобы было удобней, проще всего редактировать сам текст?
Для верного ответа нужно знать что там у тебя происходит...

Если ты сам контролируешь ввод - можно результат ввода сразу сохранять в удобном, для дальнейшей работы, формате.
Т.о. более ничего делать и не придется.
0
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 58
18.07.2023, 10:53  [ТС] 36
Цитата Сообщение от krvsa Посмотреть сообщение
Для верного ответа нужно знать что там у тебя происходит...
Я получаю готовый текст, который конечно же могу редактировать, но это трата времени, а задача как можно меньше этого времени тратить.

И ещё, если выделять заголовки например "жирным" шрифтом, это можно будет взять за точку отсчёта или есть только определённый набор свойств по которым можно парсить текст, например как "\n"?
0
66 / 55 / 13
Регистрация: 13.07.2020
Сообщений: 241
18.07.2023, 11:13 37
Цитата Сообщение от PoCoMaX Посмотреть сообщение
Я получаю готовый текст, который конечно же могу редактировать, но это трата времени, а задача как можно меньше этого времени тратить.
И ещё, если выделять заголовки например "жирным" шрифтом, это можно будет взять за точку отсчёта или есть только определённый набор свойств по которым можно парсить текст, например как "\n"?
Лично я не знаю API googleDocs, можно ли к нему постучаться с помощью JS или нужен серверный скрипт(через Питон можно, вроде),
который получит содержимое файла со всей стилизацией, но вопрос в том, как он представит эту стилизацию(через теги или просто выдаст текст).

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

Если так - мой вариант применяй. Т.е. переделай его в массив объектов. Далее с этим можно будет работать.
1
18.07.2023, 11:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2023, 11:16
Помогаю со студенческими работами здесь

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

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

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

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

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

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


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

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