Jak usunąć zwykły tekst chroniący pojedynczy cytat ze wszystkich wybranych komórek w LibreOffice Calc?

36

Mam importowany plik CSV mający pierwszą kolumnę jako wartości daty i godziny w ISO 8601 Format niczym

2012-01-01T00:00:00.000Z

po raz pierwszy w 2012 roku.

Następnie, chcąc sprawić, aby LibreOffice rozpoznał format (ponieważ nie mogłem się doczekać, aby wykreślić schemat), wybrałem kolumnę, wybrałem Format Cells...i wprowadziłem niestandardowy format czasu jako

YYYY-MM-DDTHH:MM:SS.000Z

I wydaje się to działać, jeśli ... Edytuję komórkę, aby usunąć z początku ukryty pojedynczy cudzysłów (który służy do ochrony zawartości komórki przed interpretacją), ponieważ wszystkie nowo sformatowane komórki przechowują teraz wartości takie jak

'2012-01-01T00:00:00.000Z

(zwróć uwagę na pojedynczy cytat - jest widoczny tylko podczas edycji określonej komórki).

I mam to zrobić dla wszystkich komórek w kolumnie. Jak mogę to zautomatyzować?

AKTUALIZACJA: Znalazłem już rozwiązanie dla mojego konkretnego przypadku: pomaga ustawić format kolumny na „czas” w oknie dialogowym importu CSV. Ale nadal jestem ciekawy, jak to zrobić, gdybym nie miał oryginalnego pliku danych .csv do zaimportowania, ale tylko plik .ods z danymi już zaimportowanymi bez formatu określonego podczas importu.

Ivan
źródło

Odpowiedzi:

52

Możesz usunąć wiodący pojedynczy cudzysłów (który tak naprawdę nie jest częścią ciągu w komórce), używając wyszukiwania opartego na wyrażeniach regularnych i zamieniając:

  • Wyszukaj wszystkie znaki między początkiem a końcem ciągu ^.*$
  • zamień na dopasowanie &
tohuwawohu
źródło
4
Dziękuję niebiosom za internet i za pana. Dokładnie tak było.
queso,
5
Jak, do cholery, działa, jeśli nawet nie ma w nim rzeczywistego symbolu cudzysłowu (ani jego kodu)?
Ivan
5
@ivan - To chaotyczny hack, ale tak naprawdę wcale nie zastępuje cytatu. Zasadniczo, z perspektywy silnika regex, w ogóle nie ma cytatu (jest to specjalna flaga na komórce). W związku z tym dopasowuje całą zawartość komórki (pamiętaj, że nie ma tam cudzysłowu). Następnie usuwa zawartość komórki ( co obejmuje czyszczenie flagi „zwykłego tekstu” ), a następnie ponownie wstawia zawartość. Silnik autodetekcji danych następnie widzi liczbę i interpretuje ponownie wstawione dane jako takie.
Fałszywe imię
Warto zauważyć, że prawdopodobnie usunie to wszelkie formatowanie, które opiera się na znakach, które ustawiają specjalne flagi komórek, a także flagi liczbowe w postaci zwykłego tekstu.
Fałszywe imię
2
Dziękuję Ci. To takie dziwne, że zaczyna budzić wiarę. Dlaczego, do cholery, po zaimportowaniu powinien istnieć ten pojedynczy cytat?
r0berts
30

Z menu „Dane” wybierz „Tekst do kolumn”.

pfrenssen
źródło
5
Czystsza alternatywa dla metody REGEXP.
jgomo3
Co najważniejsze, funkcja „Tekst do kolumn” umożliwia zmianę „typu” komórek. Czasami jest zablokowany na „tekście” i wydaje się, że żadna ilość przeformatowania go nie naprawia. Oto jak: u dołu okna dialogowego w polu „Pola” kliknij nagłówek kolumny z napisem „Standard”, a następnie wybierz żądany typ z menu rozwijanego „Typ kolumny”.
sxc731,
Regex nie działał w LibraOffice, ale zmień typ kolumny na „Tekst” z „Standardowy” przy użyciu Tekst na kolumny.
Wyjdź
Zadrapanie, że gdy tylko spróbuję stylizować kolumnę jako liczbę z 8 miejscami po przecinku, dodaje pojedyncze cudzysłowy z powrotem na początku. Poddaję się, wracając do Excela.
Wyjdź
0

Próbą dla regex Wymiana ^.\*$z &rozbił LibreOffice 5. Wymiana .\*z &działało.

VMT
źródło
-1

Przy użyciu małego komputerowego formatowania i wyszukiwania magiczna sztuczka (technika programowania, jeśli chcesz) nazywana w skrócie wyrażeniem regularnym lub wyrażeniem regularnym. Przykłady można znaleźć na stronie - http://www.regular-expressions.info/examples.html

Steve
źródło
3
byłbyś fajnym facetem, gdybyś mógł napisać przykładowe wyrażenie regularne.
Michaił
-2

Właściwie musisz najpierw podać znak dolara.

Zasadniczo libreOffice przygotowuje pojedynczy cytat w terenie z nieznanego powodu. Musisz więc zastąpić wszystko znakiem dolara niczym. Więc użyj wyrażenia regularnego ^. * \ $ I zamień go na nic. Pracował dla mnie.

Andrew B.
źródło
O jakim znaku dolara mówisz?
Scott,