|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удалить иероглифы |
|
|
CMD/BAT - Удалить иероглифы
|
Новый участник Сообщения: 27 |
Профиль | Отправить PM | Цитировать Здравствуйте, есть большой файл (построчный). Где-то в середине могут попадаться всякие иероглифы или эмодзи. Как сделать так, чтобы кроме символов, цифр и спецсимволов в файле ничего не осталось?
|
|
Отправлено: 16:20, 10-02-2023 |
Ветеран Сообщения: 1754
|
|
Отправлено: 23:13, 10-02-2023 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Цитата Foreigner:
Цитата:
Цитата:
|
|||
Отправлено: 11:49, 11-02-2023 | #3 |
Ветеран Сообщения: 1754
|
Цитата Asdshka:
Powershell: $str = [char[]](Get-Content 1.txt | Out-String) $chars = [char[]]("ёйцукенгшщзхъфывапролджэячсмитьб" + ` "юЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБ" + ` "ЮqwertyuiopasdfghjjklzxcvbnmQWER" + ` "TYUIOPASDFGHJKLZXCVBNMM123456789" + ` "0!@#$%^&*()_+-=/;:'`"``\|,./<>?~[]{}`n`r`t ") -join ($str | ? { $_ -in $chars }) | Set-Content 2.txt |
|
Отправлено: 13:32, 11-02-2023 | #4 |
Crazy Сообщения: 1177
|
Профиль | Отправить PM | Цитировать Цитата Asdshka:
|
||
------- Отправлено: 14:13, 11-02-2023 | #5 |
fascinating rhythm Сообщения: 6527
|
Профиль | Отправить PM | Цитировать $from = "C:\temp\test.txt" $to = "C:\temp\result.txt" $chars = [char[]](33..126+1040..1103+1025+1105) $result = foreach ($str in (gc $from)) { -join (($str).ToCharArray() |% {if ($_ -in $chars) {$_}}) } $result |Out-File $to -Encoding utf8 |
------- Последний раз редактировалось DJ Mogarych, 11-02-2023 в 14:41. Отправлено: 14:35, 11-02-2023 | #6 |
Ветеран Сообщения: 1754
|
С replace в 28 раз быстрее. на 10K строк (из примера) 1 сек против 28.
|
Последний раз редактировалось Foreigner, 11-02-2023 в 15:18. Отправлено: 14:48, 11-02-2023 | #7 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать А если мне нужно удалить ещё и просто спецсимволы, но после первого знака ":" или ";"
То есть строки могут быть ads/ghvj:adg23@14hjbkn ads/ghvj;adg23@14hjbkn |
Отправлено: 20:24, 11-02-2023 | #8 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Цитата Foreigner:
|
|
Отправлено: 22:00, 11-02-2023 | #9 |
Ветеран Сообщения: 1754
|
Asdshka, Я ошибся и удалил сообщение. Тут придется не весь текст "махом" обрабатывать, а построчно, что дольше, как-то так (не тестировал):
|
Последний раз редактировалось Foreigner, 11-02-2023 в 23:12. Отправлено: 22:19, 11-02-2023 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2003/XP/2000 - Excel | Иероглифы | no0obs | Microsoft Office (Word, Excel, Outlook и т.д.) | 14 | 05-12-2015 11:08 | |
китайские иероглифы! | demtix | Лечение систем от вредоносных программ | 1 | 07-11-2015 00:34 | |
Почта - Иероглифы | 3DpacTe | Windows Live (архив) | 1 | 29-08-2012 12:07 | |
Иероглифы | Optimus | Хочу все знать | 2 | 13-11-2008 07:04 | |
Иероглифы | Seddos | О сайте и форуме | 5 | 21-09-2002 07:52 |
|