С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/88: Рейтинг темы: голосов - 88, средняя оценка - 4.59
2 / 2 / 0
Регистрация: 15.07.2012
Сообщений: 88
1

Замена строк в текстовом файле

15.07.2012, 21:54. Показов 16924. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем!
Помогите пожалуйста: на диске с:\test.txt
В файле написано к примеру:
#1 ""
#2 ""
#3 ""
#4 ""
#5 ""
Надо в позиции #4 "" и #5 "" между кавычек написать Hello!!!
Выполнить через екзешник.
Спасибо большое.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.07.2012, 21:54
Ответы с готовыми решениями:

Интеллектуальная замена в текстовом файле
Не являюсь специалистом по программированию, поэтому исчерпав все собственные возможности, прошу...

MapBasic. замена символов в текстовом файле
Я сделал открытие и копирование, помогите к этому всему добавить цикл замены пробелов на один...

Корректная замена точки на запятую в текстовом файле
есть проблема перевода формата в текстовом файле. исходная колонка имеет текстовый формат и...

Подсчет количества строк в текстовом файле
Здравствуйте, есть 2 файлика Excel. Необходимо написать скрипт, который подсчитывал бы кол-во...

20
призрак
3263 / 891 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
15.07.2012, 23:11 2
Цитата Сообщение от aspire@aspire Посмотреть сообщение
Выполнить через екзешник.
форум по екзешникам не нашли?
тогда - на любой форум по средствам разработки, умеющим создавать екзешники.
VBA - не умеет.
0
2 / 2 / 0
Регистрация: 15.07.2012
Сообщений: 88
15.07.2012, 23:49  [ТС] 3
кавычки не могу в replace реализовать...
0
призрак
3263 / 891 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
16.07.2012, 00:00 4
Visual Basic
1
replace(s, """", """Hello!!!""")
0
2 / 2 / 0
Регистрация: 15.07.2012
Сообщений: 88
16.07.2012, 00:34  [ТС] 5
внутрянка файла:
#1 1032.008
#2 07
#3 12
#4 ""
#5 ""
100, 200, 300, 400

Вот сам код:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Command1_Click()
Dim s As String, v As Variant, i As Long, l As Long
    Open "C:\testfile.txt" For Input As #1
    s = Input(LOF(1), 1)
    Close #1
    v = Split(s, vbCrLf)
     Open "C:\testfile1.txt" For Output As #2
 For i = 0 To UBound(v) - l
    s = v(i)
    s = Replace(s, "#4 """, "#4 Hello")
    s = Replace(s, "#5 """, "#5 Hello")
        Print #2, s
 Next
    Close #2
End Sub
Да ни как...
0
призрак
3263 / 891 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
16.07.2012, 00:46 6
попробуйте так
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Command1_Click()
  Dim s As String, v As Variant, i As Long, l As Long
  Open "D:\1234\1.txt" For Input As #1
  s = Input(LOF(1), 1)
  Close #1
  v = Split(s, vbCrLf)
  Open "D:\1234\2.txt" For Output As #2
  For i = 0 To UBound(v) - l
    s = v(i)
    s = Replace(s, """""", """Hello""")
    Print #2, s
  Next
  Close #2
End Sub
1
2 / 2 / 0
Регистрация: 15.07.2012
Сообщений: 88
16.07.2012, 00:55  [ТС] 7
ikki - огромное фенькс - то, что надо.
Спасибо.
0
15153 / 6426 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
16.07.2012, 10:00 8
Цикл собсно не нужен...
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub Command1_Click()
Dim s As String
Open "C:\testfile.txt" For Input As #1
s = Input(LOF(1), 1)
Close #1
Open "C:\testfile1.txt" For Output As #2
s = Replace(s, "#4 """"", "#4 ""Hello""")
s = Replace(s, "#5 """"", "#5 ""Hello""")
Print #2, s
Close #2
End Sub
... да и переменная не нужна
Visual Basic
1
2
3
4
5
6
Private Sub Command1_Click()
Open "C:\testfile.txt" For Input As #1
Open "C:\testfile1.txt" For Output As #2
Print #2, Replace(Input(LOF(1), 1), """""", """Hello""")
Close
End Sub
1
2 / 2 / 0
Регистрация: 15.07.2012
Сообщений: 88
16.07.2012, 18:04  [ТС] 9
Ругается на на строку Print #2, Replace(Input(LOF(1), 1), """""", """Hello""")
"Input past end of file"???
0
Эксперт WindowsАвтор FAQ
18015 / 7716 / 892
Регистрация: 25.12.2011
Сообщений: 11,496
Записей в блоге: 16
16.07.2012, 19:52 10
У меня ничего не пишет.

Так и не юзайте 2-ой пример. Он Вам все кавычки позаменяет, не только 4-5.
0
2 / 2 / 0
Регистрация: 15.07.2012
Сообщений: 88
17.07.2012, 12:11  [ТС] 11
Вот зараза: в конце файла текстового (под #5 "" ) стоит некий символ, по таблице кодов похож на квадрат.
В нете нашел, что ему соответствует ASCII 
Если его руками прибить, то все отрабатывает на ура и ошибок нет никаких.
Как его прибить программно, а потом уже производить замену строк?
Спасибо.
0
Эксперт WindowsАвтор FAQ
18015 / 7716 / 892
Регистрация: 25.12.2011
Сообщений: 11,496
Записей в блоге: 16
17.07.2012, 12:44 12
Хм, любопытно - это код стирания символа "Del" (ASC - 127).

И такое выдает Вам ошибку, когда используете код № 2 Казанского?

Можете отправить в архиве такой файл (расширенный режим - "скрепка"), т.к.
есть подозрения что там не только это.
0
2 / 2 / 0
Регистрация: 15.07.2012
Сообщений: 88
17.07.2012, 13:28  [ТС] 13
вот эта бяка...
Вложения
Тип файла: txt testfile.txt (66 байт, 24 просмотров)
0
2 / 2 / 0
Регистрация: 15.07.2012
Сообщений: 88
17.07.2012, 15:08  [ТС] 14
Любой код выдает ошибку если присутствует этот символ в файле.
Если его удалить руками и запустить код, то все ок.
Как этот символ программно удалить...
Спасибо.

Добавлено через 1 час 37 минут
Dragokas,
Прикрепил
0
Заблокирован
17.07.2012, 15:13 15
aspire@aspire, почитай тут - Символ Chr(26) не считывается в программе
1
2 / 2 / 0
Регистрация: 15.07.2012
Сообщений: 88
17.07.2012, 17:41  [ТС] 16
Так файл не бинарный!!!
Коль это конец файла - почему выкидывает ошибку?
Как в моем коде это описать что убивало сначала этот символ, а потом меняло все остальное.
Спасибо.
0
15153 / 6426 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
17.07.2012, 17:54 17
Работайте построчно
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Command1_Click()
Dim s As String
Open "C:\testfile.txt" For Input As #1
Open "C:\testfile1.txt" For Output As #2
Do Until EOF(1)
    Line Input #1, s
    s = Replace(s, "#4 """"", "#4 ""Hello""")
    s = Replace(s, "#5 """"", "#5 ""Hello""")
    Print #2, s
Loop
Close
End Sub
1
2 / 2 / 0
Регистрация: 15.07.2012
Сообщений: 88
17.07.2012, 18:56  [ТС] 18
Цитата Сообщение от Казанский Посмотреть сообщение
Работайте построчно
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Command1_Click()
Dim s As String
Open "C:\testfile.txt" For Input As #1
Open "C:\testfile1.txt" For Output As #2
Do Until EOF(1)
    Line Input #1, s
    s = Replace(s, "#4 """"", "#4 ""Hello""")
    s = Replace(s, "#5 """"", "#5 ""Hello""")
    Print #2, s
Loop
Close
End Sub
Казанский - спасибо!
Построчно работает как надо.
Буду продолжать дальше лопатить.
0
0 / 1 / 0
Регистрация: 28.07.2016
Сообщений: 142
07.06.2022, 00:22 19
Не хочу плодить темы с похожими названиями, поэтому пишу тут.

Есть файл C:\test.ini, в котором надо найти строку File=C:\12\test.xlsx и заменить на File=C:\34\test.xlsx.
Использую такой макрос:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub Test1()
  Dim s As String, v As Variant, i As Long, l As Long
  Open "C:\test.ini" For Input As #1
  s = Input(LOF(1), 1)
  Close #1
  v = Split(s, vbCrLf)
  Open "C:\test.ini" For Output As #2
    s = Replace(s, "File=C:\12\test.xlsx", "File=C:\34\test.xlsx")
    Print #2, s
  Close #2
End Sub
Помогите, пожалуйста, доработать до того, чтобы макрос:
1. Искал в C:\test.ini сначала секцию [TEST], а уже потом нужную строку
2. Искал не строку C:\12\test.xlsx, а C:\*\test.xlsx
0
0 / 1 / 0
Регистрация: 28.07.2016
Сообщений: 142
13.06.2022, 20:34 20
Поднимаю тему.
0
13.06.2022, 20:34
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.06.2022, 20:34
Помогаю со студенческими работами здесь

Замена строк в текстовом файле
Добрый день. Будьте добры, оказать помощь в написании готового bat-файла, который изменит...

Замена строк в текстовом файле
Как заменить в текстовом файле строки начинающиеся со слова "Test1_user_name" на...

замена нужных строк в текстовом файле
доброго времени суток =) проблема такая . в listbox из файла со множеством строк выводиться к...

Замена в текстовом файле строк по маске
подскажите, можно ли как то замену по маске делать в txt ? например надо найти <sup><a name=r3><a...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru