3
我有一个字符串(从一段文本中读取的结果),我想分割成一个单词数组。我会在每个空间分割字符串。这似乎应该是简单的,但我似乎无法找到一种方法来实现这一点。APL/APLX - 分割一个字符串
值得注意的是我使用APLX,所以我可以选择导入一个Ruby函数,但是我更愿意使用APL。
我有一个字符串(从一段文本中读取的结果),我想分割成一个单词数组。我会在每个空间分割字符串。这似乎应该是简单的,但我似乎无法找到一种方法来实现这一点。APL/APLX - 分割一个字符串
值得注意的是我使用APLX,所以我可以选择导入一个Ruby函数,但是我更愿意使用APL。
有很多不同的方法来解决这个问题。大多数情况下我用下面的DFN在Dyalog APL:
penclose←{⎕ML←3 ⋄ ⍺←↑,⍵ ⋄ (~⍵∊⍺)⊂,⍵ } ⍝ separator as ⍺ or ⍵[1]
我不知道APLX是否有DFN和,所以更“传统”的风格将是:
∇ R←penclose R;a
⍝ Partitioned enclose of text vector with separator in R[1]
⍝ ⎕ML←3 ⍝ Dyalog-specific to make ⊂ APL2-compatible...
a←1↑R ⋄ R←(~R∊a)⊂R
∇
这工作精美,谢谢 – wptreanor
在你的APLX定义中,逗号操作符是干什么的?在我使用GNU APL的实验中,似乎只需执行R←(〜Rεa)⊂R' –
感谢您的询问!它的目的是作为针对RANK错误的安全措施,因为调用'penclose''或'penclose'x''这是不合理的,但更可能是因为'penclose bool/string' - 但虽然dfn是安全的,但我对传统风格的翻译没有妥善处理。我现在修好了。 – MBaas