Как удалить строку в текстовом файле
При разборе предложения на отдельные слова может оказаться, что в начале или в конце некоторых слов стоят пробелы. В этом случае можно воспользоваться методами сокращения в классе System.String, чтобы удалить любое количество пробелов или других символов из указанной позиции в строке. В таблице ниже описаны доступны методы сокращения.
Имя метода | Использовать |
---|---|
String.Trim | Удаление пробелов или знаков, указанных в массиве знаков, из начала и конца строки. |
String.TrimEnd | Удаление символов, указанных в массиве символов, в конце строки. |
String.TrimStart | Удаление символов, указанных в массиве символов, в начале строки. |
String.Remove | Удаление указанного количества символов в указанной позиции индекса в строке. |
Простой способ удалить пробелы с обоих концов строки — метод String.Trim, использование которого показано в следующем примере.
Кроме того, можно удалить символы, указанные в массиве знаков, из начала и конца строки. В следующем примере удаляются символы пробелов, точки и звездочки.
TrimEnd
Метод String.TrimEnd удаляет символы в конце строки, создавая новый строковый объект. Для указания символов, которые следует удалять, в этот метод передается массив символов. Порядок элементов в массиве символов не влияет на выполнение операции сокращения. В случае обнаружения символа, который отсутствует в массиве, операция останавливается.
Ниже приведен пример удаления последних букв строки с помощью метода TrimEnd. В этом примере положение символов 'r' и 'W' изменено для иллюстрации того, что порядок символов в массиве не имеет значения. Обратите внимание, что этот код удаляет последнее слово MyString и часть первого.
Этот код выводит на консоль значение He .
Ниже приведен пример удаления последнего слова строки с помощью метода TrimEnd. В этом коде после слова Hello следует запятая, а поскольку запятая не указана в массиве символов для сокращения, то выполнение операции прекращается на запятой.
Этот код выводит на консоль значение Hello, .
TrimStart
Метод String.TrimStart аналогичен методу String.TrimEnd за исключением того, что он создает новую строку путем удаления знаков в начале существующего строкового объекта. Для указания символов, которые следует удалять, в метод TrimStart передается массив символов. Как и в случае с методом TrimEnd, порядок элементов в массиве символов не влияет на выполнение операции сокращения. В случае обнаружения символа, который отсутствует в массиве, операция останавливается.
В следующем примере удаляется первое слово в строке. В этом примере положение символов 'l' и 'H' изменено для иллюстрации того, что порядок символов в массиве не имеет значения.
Этот код выводит на консоль значение World! .
Удалить
Метод String.Remove удаляет указанное количество знаков, начиная с указанного места в существующей строке. Этот метод подразумевает, что отсчет индекса начинается с нуля.
В следующем примере из строки удаляется десять символов, начиная с пятой позиции отсчитываемого от нуля индекса строки.
Удаление и редактирование определённой строки
Задание- словарь синонимов, в нём нужно осуществить удаление и редактирование определённой строки в.
Удаление из файла определенной записи
Новые записи сохраняются в файле нормально, а вот как удалить определённую запись не могу понять.
Удаление строки из файла\либо удаление самого файла.
День добрый, вот функция(используемые переменные объявленны ранее): void delete_cruise() < FILE.
Удаление определенной строки из Memo
Прювэд народ. Подскажите как из Memo удалять строки начинающиеся с определенного символа.
Одним из решений этой ситуации можно использовать построчное считывание данных из файла по строкам.
Вот краткий пример. (P.S я его не компилил, сейчас просто негде и поэтому возможны опечатки)
Решение
Так если известен номер строки, можно просто ее не читатьstawerfar, большое спасибо, сейчас буду тестить
Добавлено через 45 минут
stawerfar, всё очень хорошо работает . Эх. даже стыдно просить . можешь модифицировать свой код так, чтобы он не просто удалял строку, а и заменял её на ту, которую введет пользователь ?
У меня не получается, я вить только недавно начал программировать и не понимаю некоторые части кода.
file_out.write(line_file_text.c_str(), line_file_text.size());
file_out.clear();
А как можно сделать удаление, но не по номеру, а по содержимому?
Добавлено через 37 секунд
я просто написал программу, но результата нету
Удаление определенной строки из файла
Хаи гайсы. Объясняю ситуацию. У меня есть текстовый файл. При работе он будет большим, в ней.
Удаление определённой строки из .txt
Искал на форуме, так должного ответа и не нашёл. Как из .txt удалить определённую строку.
Удаление текста до определенной строки
Есть TextBox, который содержит в себе следующие данные: Сравнить Сравнить . Машина.
Удаление из строки определенной ее части
Всем привет! Подскажите пожалуйста, каким образом можно удалить из строки известную часть. вообще.
Запись из TextBox в .txt файл в определенную строку
Подскажите пожалуйста: Имеется Text box, как сделать так чтобы после ввода в него текста и нажатию.
Необходимо в текстовом файле найти определенную строку, в которой имеется спец.символ и удалить строку
К примеру в файле есть записи: Привет Привет Хороший День Мне нужно, что бы запись с символом.
Как удалить определённую строку в файле?
Дан файл, в нём содержится текст.Удалить определённую строку. Удаление происходит через запрос.
Надо вначале построчно считать файл куда нибудь, например в массив строк. Потом переписать старый фал уже из этого массива, но без нежелательной строки.
Примерно можно так написать:
Я обычно пользуюсь несколько иной формой
Добавлено через 1 минуту
Но у Pro_grammer'а код более безопасен, у меня используется оператор килл, если кто захочет использовать мой вариант пусть будет внимателен. А у меня можно быть и не внимательным
защита от "дурака" включена ))
Добавлено через 31 секунду
Homarty, Спасибо большое) Подставила, подскажите, как прописать количество строк (For i= To) , чтобы не само забивало цифрами файл (например, до 100), а оставило пустые строки (ограничивалось уже существующими строками в файле)
Pro_grammer
А зачем считывать файл в массив строк?
Не будет ли проще сразу переписать файл, пропустив
при этом одну или несколько ненужных строк.
Не совсем понятно что требуется, в примере программера в загрузке формы
автоматически заполняется файл числами, это место можно закоментировать
И почему никого не волнует абсолютный путь
ну нету у меня диска C:, нужно грамотно писать пути
В примере я кое что поправил
Добавлено через 2 минуты
Должно получиться следущее:
Добавлено через 1 минуту
В процедуре CallingForTest() нужно указать полное имя файла и номер строки, которую нужно удалить, и запустить ее.
С помощью временного файла - неинтересно. С помощью полной загрузки в память - неинтересно. Как сделать без дополнительных файлов и без полной загрузки в память? А ведь можно:
- читаем на двоичном доступе блоки файла один за другим в буфер
- в процессе чтения ловим появление кодов chr$(13) - т.е. считаем строки
- когда подведена нужная строка, определяем ее длину и отнимаем от исходной длины файла длину удаляемой строки
- читаем данные после удаленной строки и записываем в этот же файл, начиная с места удаления.
А теперь самое интересное!
- файл закрываем и снова открываем с помощью winAPI-функции CreateFile; сохраняем хэндл открытого файла
- с помощью winAPI-функции SetFilePointer устанавливаем файловый указатель на позицию в файле, равную новой длине
- с помощью winAPI-функции SetEndOfFile делаем это место концом файла (усекаем файл)
- с помощью winAPI-функции CloseHandle закрываем файл
Вот теперь - все. Строка удалена из файла без лишней памяти и файлов. Код ниже:
fever brain, спасибо большое
только у меня файл на входе
1
2
3
4
5
.
и т. д., цифры и дальше будут прибавляться
Подскажите, пожалуйста, как это прописать здесь:
у меня выбивает ошибку, не знаю как ввести переменную St
UBound это размер массива
Print добавит строку в конец файла
EOF определяет дошла ли считываемая строка до конца файла
есть еще
LOF - размер, Seek - позиция и тд, сейчас мне некогда, у меня утро
опять вы пишете C: в имени файла, поймите не у всех есть этот диск, у меня Z:\
и чо я буду переделывать код чтобы проверить как все работает, я уже писал как это грамотно сделать
скомпелированную программу уже не переделаешь..
у вас в программе уже есть это
ChDir Environ("systemdrive") - и то можно не писать программа и так будет искать корень диска если C: не указывать
тоесть корневая папка системного диска, дальше если использовать имена путей
то можно писать \TIME . или \Windows или \Program Files
Добавлено через 11 минут
Если ктото чтото гдето написал, это не значит что надо тупо списывать и использовать
даже Catstail не рассмотрел элементарные ошибки кода
Вручную удалять пустые строки слишком хлопотно, да и просто долго. Именно поэтому в данной статье речь пойдет о том, как за раз удалить все пустые строки в документе Word. Поможет нам в решении этой задачи функция поиска и замены, о которой мы писали ранее.
Вот так просто можно удалить пустые строки в Word. При работе с большими документами, состоящими из десятков, а то и сотен страниц, такой метод позволяет заметно сэкономить время, заодно уменьшив общее количество страниц.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Читайте также: