2016-12-15 57 views
3

我有一個字符串(從一段文本中讀取的結果),我想分割成一個單詞數組。我會在每個空間分割字符串。這似乎應該是簡單的,但我似乎無法找到一種方法來實現這一點。APL/APLX - 分割一個字符串

值得注意的是我使用APLX,所以我可以選擇導入一個Ruby函數,但是我更願意使用APL。

回答

5

有很多不同的方法來解決這個問題。大多數情況下我用下面的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 
∇ 
+0

這工作精美,謝謝 – wptreanor

+0

在你的APLX定義中,逗號操作符是幹什麼的?在我使用GNU APL的實驗中,似乎只需執行R←(〜Rεa)⊂R' –

+0

感謝您的詢問!它的目的是作爲針對RANK錯誤的安全措施,因爲調用'penclose''或'penclose'x''這是不合理的,但更可能是因爲'penclose bool/string' - 但雖然dfn是安全的,但我對傳統風格的翻譯沒有妥善處理。我現在修好了。 – MBaas