Удалить русские буквы notepad
Что понадобится: NotePad++. Владельцы Mac-ов используют аналоги: редакторы Atom, TextWrangler, Fraise и т.д.
1. Кодировки
Типы кодировок текста для русского языка:
В меню “Кодировки” замените текущую на Windows-1251 (оцените эффект:), затем обратно на UTF-8 без BOM.
Если вы открываете файл и видите “кракозябры”, то с помощью меню “Кодировки” можно подобрать правильную.
“Преобразовать в…”: переводит файл в другую кодировку (затем файл нужно сохранить). Windows-1251 называется ANSI.
2. Вид → Отображение символов
Отметьте чекбоксы: Отображать пробелы и табуляции, отображать символы конца строки (отображать все символы).
3. Формат конца строки
Непечатаемые символы, обозначающие конец строки:
Win-формат: CR+LF \r\n
old-Mac-формат: CR \r
UNIX-формат: LF \n
В режиме отображения символов конца строки вы увидите “СR”, “LF”, которые при поиске и замене в расширенном режиме и в режиме регулярных выражений задаются как эскейп-символы \r , \n , соответственно.
4. Вид → Перенос строк
автоматически переносит текст на новую строку, как в Word. Видимые концы строк при этом не сохраняются (являются “мягкими”).
5. Поиск и замена
Для работы вы можете скопировать любой текст в редактор.
Меню для поиска и замены доступно по горячей клавише Ctrl+F (см также меню Поиск и замена или Правка, в зависимости от редактора)
Отмена операции: Ctrl+Z
По умолчанию, в NotePad++ поиск происводится начиная с текущей позиции курсора до конца файла, поставьте чек на “Зациклить поиск”, чтобы замена проводилась по всему файлу.
6. Режим поиска “Регулярные выражения”
Замените все пробелы на табуляцию и затем наоборот.
- Концы строк: \r\n или \n , в зависимости от формата конца строк, см. выше.
Замените концы строк на пробел.
^ - начало строки, $ - конец строки
[а-яё] - найдет все буквы русского алфавита
[0-9a-z@_.] - все знаки, допустимые в адресе электронной почты
Узнайте, есть ли в тексте латинские буквы?
[^а-я] - “крышка” обозначает НЕ, т. е. все символы, кроме указанного диапазона а-я.
[^!]$ - найдет концы абзацев, не заканчивающиеся на восклицательный знак
.+ - повтор (любого символа) 1 или более раз
.* - повтор (любого символа) 0 или более раз
л.+ - найдет букву л и далее все символы до конца строки
л[а-яё]+ - что найдется здесь?
˽я[а-яё]* - (в начале пробел) найдет слова, начинающиеся с я, в том числе слово я
Этот поиск “жадный” - он будет искать строку максимальной длины, соответствующую условию в “Искать”.
Запрос <.*>в строке
что-то здесь
найдет всю строку целиком:что-то здесь
Нежадный (“ленивый”) поиск:
– ищет до первого вхождения символа, указанного после ?
<.*?>- найдет тег
, затем тег
:
что-то здесь
ч.+о - найдет "что-то"
Найдите с помощью “ленивого поиска” последовательность букв от пробела до пробела (слово).
7. Регулярные выражения: эскейп-символы
\\ - ищет обратный слэш
\+ , \* , \[ , \] , \( - ищет плюс, звездочку, знаки скобок и т.п.
Найдите все концы абзацев, заканчивающиеся на точку.
8. Использование условий поиска (backreference)
Заключите все условие или его части в скобки.
В поле “Заменить”
\1 , \2 , \3 - обозначает части поиска, которые в строке поиска заключены в первую, вторую и третью пару скобок, соответственно
([^ -])- ([^ -]) → \1\2 - уберет дефисы, оставшиеся после удаления жестких концов строк.
Задание: Задайте маску поиска конца прямой речи.
Подсказка: используйте [ ] со списком знаков препинания
9. Предупреждение: язык регулярных выражений может немного различаться в разных редакторах и в разных языках программирования (нотацией), но в целом набор приемов и принципы поиска одинаковы.
- \d+ - арабские цифры повторяются от 3 до 5 раз (в NotePad++ нет)
- \0 обозначает все условие поиска (не во всех редакторах доступно)
- $1 вместо \1 и т.д. – в редакторе Atom (подъязык регулярных выражений для Perl)
Практикум
А. Файл для работы - dovlatov2.txt
Что нужно сделать:
Уберите все знаки ударения
Выделите символ ударения, меню Поиск → Замена,
Найти: ˊ Заменить: (оставьте пустым) Режим поиска: обычный Заменить всё
Преобразуйте заголовок, заменив прописные буквы строчными
Правка → Преобразовать выделение → строчные
Замените 5 пробелов в начале строки на знак табуляции.
Найти: ˽˽˽˽˽ (5 пробелов)
Заменить: \t Режим поиска: расширенный
Замените концы строк на пробел
Найти: \r\n Заменить: ˽ (1 пробел). Режим поиска: расширенный
Верните концы строк в конце абзацев. (Догадайтесь, как). Подсказка: абзацы начинаются с табуляции. \t нужно заменить на нее же, но перед ней вставить……)
Cоздайте список слов по вашему файлу.
0) сохраните содержимое файла в новый файл dovlatov_wordlist.txt
1) переведите все слова в нижний регистр (Правка -> Конвертировать Регистр / Edit -> Convert case to…)
2) сделайте так, чтобы каждое слово шло с новой строки, вставив концы строк
3) сделайте так, чтобы каждый знак препинания также шел с новой строки
4) отсортируйте строки по алфавиту (Правка -> Операции со строками -> Сортировать по возрастанию / Edit -> Line operations -> Sort lines lexicographically ascending).
5) удалите повторяющиеся строки с помощью регулярных выражений
^(.*\r\n)\1+ -> \1
Дополнительное задание 2:
В файле с текстом разметьте начало и конец прямой речи с помощью тега , например, вот так:
I searched a lot, but nowhere is it written how to remove non-ASCII characters from Notepad++.
I need to know what command to write in find and replace (with picture it would be great).
If I want to make a white-list and bookmark all the ASCII words/lines so non-ASCII lines would be unmarked
If the file is quite large and can't select all the ASCII lines and just want to select the lines containing non-ASCII characters.
8 Answers 8
This expression will search for non-ASCII values:
Tick off 'Search Mode = Regular expression', and click Find Next .
If you want to keep \r and \n - carriage return and linefeed characters - you can use this regex: [\x00-\x09\x0B-\x0C\x0E-\x1F]+
Be sure to tick off "Wrap around" if you want to loop in the document for all non-ASCII characters.
Neat. because I always forget the regex for the non-ASCII and have to Google it each time to go back to this page :)
So the trick with this is when you press find here it selects the character. Then you just go to the Edit menu and pick Replace, and Notepad++ always fills the "find" box in with the current selection, which will be the character you found. So you can do the rest of the find/replace in the normal dialog.
In addition to the answer by ProGM, in case you see characters in boxes like NUL or ACK and want to get rid of them, those are ASCII control characters (0 to 31), you can find them with the following expression and remove them:
In order to remove all non-ASCII AND ASCII control characters, you should remove all characters matching this regex:
They're matched as values you'd like to keep. I was just suggesting this in case you want to get rid of them.
The last example should begin at 20 to exclude the unit separator character. Maybe exclude 7F as well as it's a control character too.
Brilliant! I removed all pesky non-ASCII characters using the qdap R package using: mgsub("[^\x1F-\x7F]+", "", text_vector, fixed = FALSE)
To remove all non-ASCII characters, you can use following replacement: [^\x00-\x7F]+
To highlight characters, I recommend using the Mark function in the search window: this highlights non-ASCII characters and put a bookmark in the lines containing one of them
If you want to highlight and put a bookmark on the ASCII characters instead, you can use the regex [\x00-\x7F] to do so.
Для Notepad++ (это текстовый редактор, типа стандартного блокнота, создан для программистов) есть плагин, NppExec, с помощью него можно запускать другие программы. К примеру, можно набранный программный код запустить в консоли (в консоли интерпретатора соответствующего языка программирования).
Так вот, можно даже в самом плагине запустить программу. В окне отображается то же самое, что отображалось бы в консоли. Проблема только в русских символах - если в коде присутствует кириллица, отображается все не так как нужно.
Конкретно я пишу на Python, в нем используется UTF-8, насколько я знаю. В редакторе тоже выставлена по умолчанию эта кодировка. И сам плагин был с пометкой Unicode( есть версия плагина с ANSI кодировкой).
Причем, если выводить код не в окне самого плагина, а в консоли, то никаких проблем.
Винда какая? Впрочем, скорее всего не важно.
Пробуй ANSI. Unicode виндовая консоль, скорее всего, не умеет до сих пор.
ЗЫ: проверяется просто - открываешь Нотепадом++ какой-нибудь батник с кириллицей (можно в консоли создать, например), и смотришь кодировку.
Windows 7, 32 разрядная.
Консоль открывается плагином именно Python'овская. Просто в интерфейсе плагина. В общем отображается не окно с черным фоном как обычно, а просто немного другое, но суть та же.
Если ставить в Notepad ANSI, получается еще хуже - не отображается не только в плагине, но и в самом Notepad. Пробовал ставить плагин в ANSI кодировке, Notepad сказал, что сам редактор имеет другую кодировку и вообще выключил плагин.
Насчет проверки - просто открыть любой Файл. py, который содержит кирилицу в Notepad и посмотреть кодировку? В таком случае отображается "UTF-8 без BOM". Пробовал эту кодировку повторно ставить, не помогает
Гнёт Ель Просветленный (45345) cmd.exe в семёрке уже нет? Не *.py, а *.bat С созданием батника в консоли я замучался искать )) Можно вывести в файл вывод сомандной строки. Запускаете cmd.exe, в ней вводите команду help > commands.txt Открываете получившийся файл (хрен знает куда он сохранится))) но поиск должен рулить.) и смотрим кодировку. Попробуйте писать и сохранять *.py без плагинов всяких. А открывать и исполнять уже плагином.
Я много искал, но нигде не написано, как удалить не-ASCII символы из Notepad ++.
Мне нужно знать, какую команду написать в find и заменить (с картинкой было бы здорово).
Если я хочу создать белый список и добавить в закладки все слова / строки ASCII, чтобы не-ASCII строки были отмечены
Если файл довольно большой и не может выбрать все строки ASCII, а просто выбрать строки, содержащие символы, не входящие в ASCII .
Это выражение будет искать значения не ASCII:
Отметьте галочкой «Режим поиска = Регулярное выражение» и нажмите Find Next .
Если вы хотите сохранить \ r и \ n - символы возврата каретки и перевода строки - вы можете использовать это регулярное выражение: [\ x00- \ x09 \ x0B- \ x0C \ x0E- \ x1F] +
В Notepad ++, если вы перейдете в меню « Поиск» → « Найти символы в диапазоне» → « Не-ASCII-символы» (128–255), вы можете перейти к документу до каждого не-ASCII-символа.
Обязательно отметьте галочкой « Обтекание », если хотите зациклить документ для всех символов, не относящихся к ASCII.
В дополнение к ответу ProGM, если вы видите символы в полях типа NUL или ACK и хотите от них избавиться, это контрольные символы ASCII (от 0 до 31), вы можете найти их с помощью следующего выражения и удалить их:
Чтобы удалить все не-ASCII И ASCII управляющие символы, вы должны удалить все символы, соответствующие этому регулярному выражению:
Они соответствуют ценностям, которые вы хотели бы сохранить. Я просто предложил это на случай, если вы захотите от них избавиться.
Последний пример должен начинаться с 20, чтобы исключить символ разделителя единиц. Может быть, исключить 7F, а также это контрольный персонаж тоже.
Brilliant! Я удалил все надоедливые символы, не входящие в ASCII, используя пакет qdap R, используя: mgsub("[^\x1F-\x7F]+", "", text_vector, fixed = FALSE)
Чтобы удалить все символы не ASCII, вы можете использовать следующую замену: [^\x00-\x7F]+
Чтобы выделить символы, я рекомендую использовать функцию « Отметить» в окне поиска: она выделяет не-ASCII символы и ставит закладку в строках, содержащих один из них.
Если вы хотите выделить и поставить закладку на символы ASCII, вы можете использовать регулярное выражение [\x00-\x7F] для этого.
Для редактирования кода блога мы будем пользоваться текстовым редактором Notepad++. Эту программу ставьте обязательно себе на компьютер. Ниже перечислю основные функции и особенности Notepad++.
Преимущества текстового редактора Notepad++:
- Этот текстовой редактор предоставляется абсолютно бесплатно;
- Есть возможность отмены действия. То есть, допустим: Вы исправили код, затем он выдает ошибку, а Вы не помните, что да как было. Чтобы вернуть в обратное положение, Вам достаточно нажать «Правка»—>»Отмена» или CTRL+Z до тех пор, пока Вас не устроит состояние блога ;
- Можете одновременно работать с другими файлами, что очень удобно;
- Присутствует подсветка синтаксиса (каждый вид элемента окрашен в свой цвет, так же можно кликнуть по открывающему тегу, в результате программа предоставит Вам закрывающий тег);
- Поддержка плагинов;
- Данный текстовой редактор предоставляет еще кучу возможностей и удобств для Вашей работы.
Думаю, вышеперечисленные преимущества убедили Вас поставить себе на компьютер Notepad++. Если это так, то Вам для начала нужно скачать Notepad++ или с официального сайта, затем установить его себе на компьютер. Запускаем программу, она будет выглядеть следующим образом (я открыл файл index.php темы моего будущего блога):
- Номер строки
- Открывающий тег
- Закрывающий тег
- Кодировка файла.
Об остальных нюансах можете почитать на сайте разработчика, ну или разбираться самому, так как программа полностью на русском и понятная.
Изменение кодировки файлов темы WordPress на UTF-8 (русский язык)
Чтобы слово «Categories» перевести на русский язык нам нужно вспомнить какой файл темы отвечает за правую часть блога. Этот файл называется sidebar.php, открываем его текстовым редактором Notepad++. Находим в этом файле слово, которое нужно перевести (для удобства можете нажать CTRL+F и в поле для поиска нужно набрать необходимое слово: 1 — слово для поиска, 2 — нажать для поиска, 3 — результат поиска):
Теперь, чтобы это слово перевести на нормальный русский язык, нам нужно переделать кодировку в UTF-8, и только потом перевести слово. А если кодировку не менять, получится вот что (заметьте, что вышло на картинке ниже. Это случай, когда я в файле темы изменил слово Categories на Рубрики, вот эти знаки и есть крякозябры):
Так как же сделать так, чтобы вместо этих знаков вышло нормальное русское слово? С программой Notepad++ это довольно легко и просто. То что нам нужно сделать, это всего лишь открыть нужный нам файл (в данном случае я открываю sidebar.php), переделать кодировку в UTF-8 и только потом перевести слово.
Чтобы перевести кодировку в UTF-8 нужно зайти в Notepad++ в раздел «Кодировки» и выбрать «Преобразовать в UTF-8 без BOM»:
В результате в правом нижнем углу у Вас должна выйти следующее:
Теперь сохраняем файл (CTRL+S) и любуемся результатом:
Хочу сказать Вам, что каждый файл нужно переделывать в UTF-8 только один раз и просто сохранить. И, пока я пишу новые уроки, я рекомендую Вам потихонечку начать переводить на русский язык то, что еще не переведено в Вашей теме.
Теперь, если Вы вдруг увидите на своем блоге крякозябры, будете знать в чем проблема, а если что-то подзабыли, этот пост Вам в помощь.
Интегрируем Notepad++ в Total Commander.
Если Вы пользуетесь файловым менеджером Total Commander (Total Commander: зачем он нужен блоггеру?), то для удобства работы интегрируйте Notepad++ в него. Это довольно просто:
- Открываете Total Commander
- Зайдите «Конфигурация» —> «Правка/Просмотр«:
- И укажите программу Notepad++ текстовым редактором по умолчанию (нажимаете на стрелки (показано цифрой 1) и указываете адрес до данной программы, потом у Вас в поле должно появится слово notepad.exe (на рисунке стрелкой 2)):
Следующий урок: Урок 18 Выводим популярные статьи на блоге.
Читайте также: