如何从 LibreOffice Calc 中所有选定的单元格中删除保护单引号的纯文本?

如何从 LibreOffice Calc 中所有选定的单元格中删除保护单引号的纯文本?

我导入了一个 CSV 文件,其中第一列是日期时间值ISO 8601格式如下

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 文件(导入时没有指定格式),该如何操作。

答案1

您可以使用基于正则表达式的搜索和替换删除前导单引号(实际上不是单元格中字符串的一部分):

  • 搜索字符串开始和结束之间的所有字符^.*$
  • 用匹配替换&

答案2

从“数据”菜单中,选择“文本到列”。

答案3

尝试使用正则表达式替换^.\*$导致&LibreOffice 5 崩溃。使用 替换.\*&工作正常。

答案4

澄清并解释 sxc731 所说的话:

当您从网上下载 XL 文件并在 Libre Calc 中打开它时,数字列前面可以有一个单引号 - 因此它们被视为文本。任何公式或数字运算都无法在该列上起作用。但格式菜单/单元格仍然将其显示为数字。这是误导!要将其转换为实际数字:

  • (1)单击标题选择列。这很重要。否则下一步中的菜单项将被禁用。
  • (2)单击数据菜单/‘文本到列’选项。
  • (3)在出现的对话框中,字段/列类型下拉框最初是空的。(这可能是一个错误)。要填充它:单击其下方显示的迷你电子表格中的标题“标准”。现在将填充列类型下拉列表。
  • (4)选择“标准”作为列类型。

现在,列中的数字将被视为数字,而不是文本。

相关内容