Как удалить апостроф в начале ячейки
Перейти к содержимому

Как удалить апостроф в начале ячейки

  • автор:

Очистка строки, удаление одиночных символов апострофов из списка слов содержащих апостроф

Необходимо удалить только одиночные апострофы из списка, не затрагивая слова содержащие апострофы. Пробелов в списке нет, как и других символов из набора:

from string import punctuation 

Результат должен выглядеть так:

result_words = ["we're", "he's", "'abc", "ghe'", 'hello', "'h", "h'"] 

Отслеживать
задан 12 ноя 2021 в 8:05
2,327 1 1 золотой знак 5 5 серебряных знаков 30 30 бронзовых знаков

Пожалуйста, уточните вашу конкретную проблему или приведите более подробную информацию о том, что именно вам нужно. В текущем виде сложно понять, что именно вы спрашиваете.

12 ноя 2021 в 8:08
одиночные — нет букв ни с какой стороны или достаточно с одной?
12 ноя 2021 в 8:12

одиночные — нет букв ни с какой стороны, наличие одной буквы с любой стороны имеет в общем представление слова с апострофом, например [«h'»] или [«‘h»] будут словами с апострофом, у которых апостроф удалять не нужно.

12 ноя 2021 в 8:19
посмотрите regex Negative Lookahead и Negative Lookbehind. Там все очень просто
12 ноя 2021 в 8:24
@splash58 спасибо за наводку, изучаю
12 ноя 2021 в 8:26

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

words = ["we're", "'", "'''", "he's", "'abc", "ghe'", 'hello', "'h", "h'"] res = ([x for x in words if "".join(set(x))!="'"]) print(res) 

Отслеживать
ответ дан 12 ноя 2021 в 8:33
25.7k 4 4 золотых знака 21 21 серебряный знак 36 36 бронзовых знаков

Огромное спасибо, данное решение для меня отлично подходит. Все же стоит для себя изучить регулярные выражения тоже :^)

12 ноя 2021 в 8:40

Ещё как вариант — проверка, что слово состоит не только из символов пунктуации (хотя в вашем случае нужно проверять только апострофы, но обычно задача ставится немного шире):

from string import punctuation words = ["we're", "'", "'''", "he's", "'abc", "ghe'", 'hello', "'h", "h'"] result_words = [w for w in words if set(w) - set(punctuation)] print(result_words) 
["we're", "he's", "'abc", "ghe'", 'hello', "'h", "h'"] 

Отслеживать
ответ дан 12 ноя 2021 в 8:41
70.3k 5 5 золотых знаков 20 20 серебряных знаков 51 51 бронзовый знак

  • python
  • список
  • фильтрация
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.3.8.5973

База Знаний: Calc. Символ «’» перед числом

Если перед числами в строке ввода стоит символ «’», то в этом случае цифры не распознаются как числа.

Символ «’» (апостроф) является символом принудительного форматирования данных «как текст», поэтому он не отображается в ячейках; увидеть его можно только в строке ввода перед данными.

«Язык формул» электронных таблиц разработан задолго до появления MS Windows и Microsoft Office. Символ «апостроф» в начале содержимого ячейки всегда был символом принудительного форматирования содержимого «как текст». Данный способ форматирования является преимущественным перед форматом ячейки.

Так работали Quatro Pro, Super Calc, таблицы Lotus 1-2-3.

Так работают и все современные электронные таблицы.

«’» перед цифровыми значениями следует использовать, когда вводятся константы, не являющиеся числами. Например — банковские и почтовые реквизиты: номера расчётных и корреспондентских счетов, индексы; различные идентификаторы.

Отмена принудительного текстового форматирования

Для единичной отмены принудительного текстового форматирования в ячейке следует в строке ввода удалить ведущий символ «’» (апостроф).

Для массовой отмены принудительного текстового форматирования следует воспользоваться регулярными выражениями. Для этого нужно:

  • вызвать диалог поиска и замены Ctrl + F ;
  • ввести в строке Найти: .+
  • ввести в строке Заменить: &
  • щёлкнуть кнопку Больше параметров и установить флаг Регулярные выражения
  • щёлкнуть кнопку Заменить все

При необходимости можно обработать либо заданный диапазон, либо все листы.

«’» перед цифровыми значениями не обнаруживается средствами поиска.

Как убрать апостроф в LibreOffice Calc

2018 03 21 10

Здесь про LibreOffice Calc и как ловко убрать символ апострофа, который приходит с файлами где применили явное указание цифры считать как текст. То есть символ «апостроф» в начале содержимого ячейки, есть символ принудительного форматирования содержимого «как текст». Вам этот символ также может пригодиться. Символ «’» перед цифровыми значениями следует использовать, когда вводятся константы, не являющиеся числами. Например — банковские и почтовые реквизиты: номера расчётных и корреспондентских счетов, индексы; различные идентификаторы. Но сейчас не об этом, а о том как его убрать быстренько.

Далее шоу в картинках, как убрать символ «апострофа»

С виду и не скажешь где он есть.

2018 03 21 03

Когда он есть, текст похожий на цифры остаётся текстом и нельзя применить к нему цифровые форматы.

2018 03 21 05

Но стоит ячейку просмотреть в режиме «редактировать» и сразу становится виден этот апостроф.

2018 03 21 04

В единичных случаях его можно просто удалить, а вот массово делаем так как делают все понастоящему ленивые. Выделяем все ячейки, в которых будем удалять апостроф. В примере выделен столбик. Жмём комбинацию кнопок на клавиатуре CTRL+H и помогаем открыться форме «Найти и заменить»

2018 03 21 06

Вводим в строку Найти: .+ (точка плюс)

В строку Заменить: & (амперсанд)

Открываем Другие параметры и галку на «Регулярные выражения» (и ясно дело на «Только текущее выделение»)

И жми «Заменить все»

2018 03 21 11

Вуаля! Всё готово. Применяй любые цифровые форматы.

2018 03 21 09

Я писал эту заметку 10 минут, поэтому тебе нужно поделится этой заметкой с другом, тем более если он пользуется бесплатным LibreOffice Calc. А если он не пользуется LibreOffice, ну и ладно, пусть пользуется платным Office от MICROSOFT.

Как убрать апостроф перед числом в Excel? Вопрос жизни и смерти)

После выгрузки данных в Excel,программа перестала считать формулы, и преобразовывать их в числа, при проверке правильности формулы, было выявлено, что в ячейках одного из столбцов перед числом стоит апостроф, который не виден в строке формул. Формат ячеек числовой, не текстовый. Многие из советов данные в интернете по решению данной проблемы были опробованы, но не принесли положительных результатов. При наборе числа вручную проблема исчезает, но пересчитывать таким образом семь тысяч позиций-безумие).
Не сочтите за наглость, помогите блондинке пожалуйста)

Лучший ответ

а, ну апостроф — известная фишка, чтобы число форматировалось как строка
можно, наверно, заменить апострофы на пустоту
или во вспомогательном столбце сделать формулу =ПРАВСИМВ (A1;2;ДЛСТР (A1)), протянуть её на всю длину таблицы, а потом специальной вставкой заменить значения исходного столбца

Остальные ответы

Зелёный треугольничек сверху слева есть в этих ячейках? А восклицательный знак появляется, когда выделяешь эту ячейку? Тогда просто выделить все нужные ячейки, по стрелочке рядом с восклицательным знаком и выбрать «Преобразовать в число». И всё.

restavratorУченик (145) 3 года назад
Всё просто без всяких формул.

В Calc (LibreOffice) эта проблема решается так:
Выделяем нужный участок таблицы, где необходимо убирать из цифр апостроф. Жмем Правка — Найти и заменить (Ctrl+H), ищем — «.+» заменять на «&» (искать без кавычек). Перед поиском нажать Другие параметры и установить галочку напротив «Регулярные выражения». Заменить все.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *