Содержание
БлогNot. Javascript: слить все строки текста в одну
Javascript: слить все строки текста в одну
Просто понадобилось срочно из текста убрать переводы строк, ничем их не заменяя (точней, заменяя одним пробелом любое количество разделителей, в том числе, переводов строки). Такой формат нужен, например, при преобразовании pgn-файла в строку pgnString для Chesstempo.
Пришлось написать кодик вроде вот такого, ведь сервисы nl2br и sus этого не делают. Но писать код на PHP, который ещё надо на сервак загрузить, мне сейчас лень, а на JS можно сделать за минуту, да и выполняется пусть вашим браузером, а не моим сервером 🙂
Вот скрипт в работе, а под катом — полный исходник, по сути, это маленькая обёртка над пользовательской функцией trim, удаляющей из строки лишние разделители.
В однострочном текстовом поле "Результат" достаточно нажать стандартные комбинации клавиш Ctrl+A и затем Ctrl+C чтобы скопировать получившуюся строку в Буфер Обмена.
Если Вы хотите решить обратную задачу — вынести каждое слово текста на отдельную строку, заодно избавившись от лишних разделителей и подсчитав количество слов в тексте, то загляните в эту заметку.
28.11.2017, 12:58; рейтинг: 2699
Этот онлайн сервис позволяет легко преобразовывать столбики из слов или чисел в строки (разделитель запятая).
Другие полезные сервисы для обработки текста:
Просто введите список, например:
- античный город
- осень, серое небо
- каменная дорога, деревья
- карета с лошадьми
- воины на лошадях
Получите на выходе строку:
античный город, осень, серое небо, каменная дорога, деревья, карета с лошадьми, воины на лошадях
Нажмите кнопку Cкопировать в буфер, чтобы получить результат сразу в буфере обмена.
Это самый быстрый и простой способ преобразовать текст столбиков в строку через запятую наглядно. Посмотрите другие полезные утилиты и добавьте эту страницу или сайт в закладки.
27547 просмотра
11 ответа
667 Репутация автора
Я пытаюсь сделать текстовый файл с сгенерированным ключом в 1 строку. пример:
Я хочу, чтобы это выглядело так:
Заметьте, я тоже хочу строки и убрал. Как я могу это сделать? Будет ли это сделано с sed ?
Ответы (11)
плюса
12080 Репутация автора
В vim это просто:% s / ^ M //
Я использую это все время для генерации разделенных запятыми списков из строк. Для sed или awk, ознакомьтесь со многими решениями по этой ссылке:
вставить -s -d ‘,’ tmpfile | sed ‘s /, /, / g’
13 плюса
1264 Репутация автора
Автор: Luke Размещён: 18.05.2011 08:44
1 плюс
2768 Репутация автора
Простой способ будет использовать cat file.txt | tr -d ‘
‘
2 плюса
40819 Репутация автора
5 плюса
1835 Репутация автора
Если вы ищете все, что просили в одном седе, у меня есть это .
Но это не совсем легко читаемо 🙂 Если вы не возражаете передать несколько команд, вы можете использовать предложенные в виде ответов grep, tr, sed и т. Д. Оставшиеся ответы.
Автор: Costa Размещён: 18.05.2011 09:28
плюса
944 Репутация автора
1 плюс
175471 Репутация автора
плюса
1 Репутация автора
Вы также можете использовать man 1 ed для объединения строк:
Автор: karl Размещён: 19.05.2011 02:44
4 плюса
1094 Репутация автора
Чтобы преобразовать многострочный вывод в одну строку, разделенную пробелом, используйте
Я знаю, что это не отвечает на подробный вопрос. Но это один из возможных ответов на заголовок. Мне нужен был этот ответ, и мой поиск в Google нашел этот вопрос.
плюса
37834 Репутация автора
Это может работать для вас (GNU sed):
Соберите строки между key start и key stop . Затем удалите первую и последнюю строки и удалите все новые строки.
Автор: potong Размещён: 27.02.2017 12:15
плюса
36 Репутация автора
Хвост, чтобы удалить первую строку, голова, чтобы удалить последнюю строку, и tr, чтобы удалить новые строки.