Como remover um texto sem formatação que protege aspas simples de todas as células selecionadas no LibreOffice Calc?


36

Importei um arquivo CSV com a primeira coluna com valores de data e hora no formato ISO 8601 , como

2012-01-01T00:00:00.000Z

para o primeiro momento do ano de 2012.

Então, desejando que o LibreOffice reconhecesse o formato (como eu estava ansioso para plotar um diagrama), selecionei a coluna, escolhi Format Cells...e inseri o formato de hora personalizado como

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

E isso parece funcionar se ... Eu edito uma célula para remover uma aspas simples oculta desde o início (que serve para proteger a interpretação do conteúdo de uma célula), pois todas as células recém-formatadas agora armazenam valores como

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

(observe a aspas simples - só é visível quando você edita uma célula específica).

E devo fazê-lo para todas as células da coluna. Como posso automatizar isso?

ATUALIZAÇÃO: Eu já encontrei uma solução para o meu caso específico: ajuda a definir um formato de coluna como "hora" no diálogo de importação de CSV. Mas ainda estou curioso para saber como isso poderia ser feito caso eu não tivesse o arquivo de dados .csv original para importar, mas apenas o arquivo .ods com os dados já importados sem o formato especificado no momento da importação.

Respostas:


52

Você pode remover a aspas simples à esquerda (que na verdade não faz parte da cadeia de caracteres da célula) usando uma pesquisa baseada em regex e substituindo:

  • Pesquise todos os caracteres entre o início e o fim da string ^.*$
  • substituir com fósforo &

4
Agradeça aos céus pela internet e por você, senhor. Isso foi exatamente correto.
queso

5
Como diabos ele funciona se ele ainda não possui um símbolo de citação real (nem seu código)?
26412 Ivan

5
@ivan - É um truque bagunçado, mas na verdade não substitui a citação. Basicamente, da perspectiva do mecanismo de expressão regular, a cotação não existe (é um sinalizador especial na célula). Como tal, o que faz é corresponder a todo o conteúdo da célula (que não possui a citação na string, lembre-se). Em seguida, o que ele faz é excluir o conteúdo da célula ( que inclui limpar o sinalizador "texto sem formatação" ) e, em seguida, reinserir o conteúdo. O mecanismo de detecção automática de dados vê um número e interpreta os dados reinseridos como tal.
Nome falso

Vale a pena notar que isso provavelmente excluirá qualquer formatação que dependa de caracteres que definem sinalizadores de célula especiais, bem como os sinalizadores numéricos de "texto sem formatação".
Nome falso

2
Obrigado. Isso é tão estranho que implora crença. Por que diabos deveria haver esse caractere de aspas simples após a importação?
R0berts

30

No menu "Dados", escolha "Texto em colunas".


5
Uma alternativa mais limpa ao método REGEXP.
Jgomo3

Fundamentalmente, a função "Texto em colunas" permite alterar o "tipo" das células. Às vezes, fica preso no "texto" e nenhuma formatação parece corrigi-lo. Veja como: na parte inferior da caixa de diálogo em "Campos", clique no cabeçalho da coluna "Padrão" e selecione o tipo desejado no menu suspenso "Tipo de coluna".
Sxc731

O Regex não funcionou no LibraOffice, mas altere o tipo de coluna para "Texto" de "Padrão" usando Texto para Colunas trabalhadas.
Saia

Risque que, assim que tento estilizar a coluna como um número com 8 casas decimais, ela adiciona aspas simples na frente. Desisto, voltando ao Excel.
Saia

0

Uma tentativa para regex substituir de ^.\*$com &caiu LibreOffice 5. Substituição de .\*com &funcionou bem.


-1

Com o uso de um pouco de formatação por computador e truque de mágica de pesquisa (técnica de programação, se você quiser), chamada Expressão Regular ou expressão regular, para abreviar. Para obter exemplos, consulte - http://www.regular-expressions.info/examples.html


3
você seria um cara legal se pudesse escrever um exemplo de regex.
11555 Mikhail

-2

Na verdade, você precisa citar o cifrão primeiro.

Basicamente, o libreOffice está acrescentando uma única citação no campo, por algum motivo desconhecido. Portanto, você precisa substituir qualquer coisa até o cifrão por nada. Portanto, use o regex de ^. * \ $ E substitua-o por nada. Trabalhou para mim.


De que cifrão você está falando?
Scott
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.