LibreOffice Basic:用于拆分字符串的现有实用程序?

Posted

技术标签:

【中文标题】LibreOffice Basic:用于拆分字符串的现有实用程序?【英文标题】:LibreOffice Basic: existing utilities for splitting strings? 【发布时间】:2015-12-13 15:14:26 【问题描述】:

我使用的是 LibreOffice Basic 语言。

我想知道是否有任何库可以用于将字符串拆分为数组?例如,假设我有以下字符串,其中的项目由任意数量的空格分隔:

ABC   DEF GHI

我想将此字符串拆分为一个名为“item”的数组,其中包含以下元素:

item(0) = "ABC"
item(1) = "DEF"
item(2) = "GHI"

我知道如何在 LibreOffice Basic 中使用正则表达式或通过逐个字符迭代原始字符串来生成这些结果,但我想知道是否有任何现有的函数或辅助实用程序可以使用,所以我不知道不必“重新发明***”。

互联网搜索没有产生任何结果,但我可能忽略了一些东西。

提前谢谢你。

【问题讨论】:

你试过Item = Split(StringName," ")吗?我怀疑每个空格都会在数组中创建自己的条目,但处理空白数组条目可能比遍历整个字符串更容易。 【参考方案1】:

看来您需要编写自己的函数。 https://forum.openoffice.org/en/forum/viewtopic.php?f=9&t=33218 有几个想法。

如果您将进行大量字符串操作并且项目还没有走得太远,那么可能值得考虑另一种支持 UNO 的语言,例如 Java 或 Python。在 Python 中,代码很简单:

s = "ABC   DEF GHI"
item = s.split()

【讨论】:

谢谢。我错过了 OpenOffice 论坛中的讨论。但是,是的,我认为 Python 将是最好的方法。我刚刚开始尝试将 Python 集成到 Calc 中以用于不同的目的,它也应该适用于这个和其他字符串操作函数。

以上是关于LibreOffice Basic:用于拆分字符串的现有实用程序?的主要内容,如果未能解决你的问题,请参考以下文章

在 Libreoffice Basic 中将日期存储在数组中

在 LibreOffice 宏的 Basic 中获取文档路径

在 LibreOffice Basic 中测试字符串的第一个字符是不是为非数字

使用 LibreOffice Basic 迭代控件

如何在 Basic 中使用 LibreOffice 功能?

在 Basic 中计算自己的对数(LibreOffice Calc Macro)