LibreOffice Calcで選択したすべてのセルから一重引用符を保護するプレーンテキストを削除する方法


36

次のようなISO 8601形式の日時値である最初の列を持つCSVファイルをインポートしました

2012-01-01T00:00:00.000Z

2012年の最初の瞬間。

次に、LibreOfficeにフォーマットを認識させて(図をプロットするのが楽しみだったので)、列を選択Format Cells...し、選択してカスタム時間フォーマットを入力しました

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

そして、これは次の場合に機能するようです...すべての新しくフォーマットされたセルが次のような値を保存するようになったため、セルを編集してその最初から隠された単一引用符を削除します

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

(一重引用符に注意してください-特定のセルを編集するときにのみ表示されます)。

そして、私は列のすべてのセルに対してそうすることです。これをどのように自動化できますか?

更新:私の特定のケースに対する解決策を既に見つけました。CSVインポートダイアログで列形式を「時間」に設定すると役立ちます。しかし、インポートする元の.csvデータファイルがなく、インポート時に指定された形式なしで既にインポートされたデータを含む.odsファイルのみがある場合、これをどのように行うことができるのか、まだ興味があります。

回答:


52

正規表現ベースの検索と置換を使用して、先頭の単一引用符(実際にはセル内の文字列の一部ではない)を削除できます。

  • 文字列の開始と終了の間のすべての文字を検索します ^.*$
  • マッチに置き換える &

4
インターネットとあなたのために天に感謝します、先生。これは正しかった。
ケソ

5
実際の引用記号(またはそのコード)も含まれていない場合、一体どのように機能しますか?
イヴァン

5
@ivan-これは厄介なハックですが、実際には引用をまったく置き換えません。基本的に、正規表現エンジンの観点からは、引用符はまったくありません(セル上の特別なフラグです)。そのため、それはセルの内容全体に一致します(文字列に引用符がありません、覚えておいてください)。次に、セルのコンテンツを削除し(「プレーンテキスト」フラグのクリアを含む)、コンテンツを再挿入します。その後、データ自動検出エンジンは番号を確認し、再挿入されたデータをそのように解釈します。
偽の名前

これはおそらく、特殊なセルフラグを設定する文字と「プレーンテキスト」番号フラグに依存するフォーマットを削除することに注意してください。
偽の名前

2
ありがとうございました。これはとても奇妙で、物beいの信念です。一体なぜ、インポート後にこの一重引用符が必要なのでしょうか?
r0berts

30

「データ」メニューから「列へのテキスト」を選択します。


5
REGEXPメソッドのよりクリーンな代替。
jgomo3 14年

重要なのは、「列へのテキスト」機能により、セルの「タイプ」を変更できることです。時々「テキスト」にこだわっており、再フォーマットの量がそれを修正していないようです。方法は次のとおりです。[フィールド]の下のダイアログボックスの下部で、[標準]という列ヘッダーをクリックし、[列の種類]ドロップダウンで目的の種類を選択します。
sxc731 16

正規表現はLibraOfficeでは機能しませんでしたが、テキストを使用して列タイプを「標準」から「テキスト」に変更しました。
出口

列に10進数の8桁の数値としてスタイルを設定するとすぐに、一重引用符が前に追加されます。あきらめて、Excelに戻ります。
出口

0

交換のための正規表現の試み^.\*$では、&LibreOfficeの5.の交換墜落し.\*&加工した罰金。



-2

実際には、最初にドル記号を引用する必要があります。

基本的に、libreOfficeは、何らかの理由でフィールドに一重引用符を追加しています。そのため、ドル記号まで何も置き換えないでください。したがって、^。* \ $の正規表現を使用して、何も置き換えないでください。私のために働いた。


あなたは何のドル記号について話しているのですか?
スコット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.