Javasavr
@Javasavr

Как удалить весь текст который содержит 32 символа?

Есть файл с большим количеством данных, нужно сделать так чтобы весь текст в котором 32 символа был удален, допустим если в файле есть текст содержащий 32 символа то он должен быть удален, то есть текст 12345678901234567890123456789012 после запуска скрипта должен быть удален (Как и весь текст содержащий 32 символа), остальной же текст содержащий больше или меньше символов должен быть сохранен
12345678901234567890123456789012
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
1. Создаем bufio.Reader, для этого вызываем bufio.NewReader(...), передав туда открытый файл. https://golang.org/pkg/bufio
2. Вызовами ReadString('\n') у созданного ридера, читаем файл построчно.
3. Каждую строку бьем на слова с помощью strings.Split(....," ")
4. Получаем массив слов, пробегаем по нему циклом и смотрим длины слов.
5. Записываем в нужный нам файл только те слова, которые короче 32 символов.

Важно, если у вас файл содержит не только ASCII-символы, то для подсчета длины нужно не просто смотреть количество байт, а использовать функцию https://golang.org/pkg/unicode/utf8/#RuneCountInString
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы