3

我想按顺序加入整数列表以获得最终字符串,例如

a=.11 22 33 44

我想得到'11223344'. 而且,有时,'11 22 33 44'在这种情况下,我需要在中间放置一个分隔符,就像一个空格一样。最简单的方法是什么?

4

2 回答 2

6

使用格式 ":将数字列表转换为字符串:

":a
11 22 33 44

有很多方法可以删除它们之间的空格或用另一个字符串分隔它们。

' ' -.~ ":a          NB. remove spaces (' ') from ":a
11223344

(":a) rplc ' ';', '  NB. replace spaces with ', ' (or anything else, even empty)
11, 22, 33, 44

,('-',~":)"0 a       NB. append '-' to every element of a; convert to string
11-22-33-44-

ETC

于 2013-07-21T20:46:15.207 回答
5

另一种可以更轻松地处理某些情况的解决方案。

使用 foreign8!:0将数字转换为盒装字符串(这处理负号从_到的转换-)。

   8!:0 a
┌──┬──┬──┬──┐
│11│22│33│44│
└──┴──┴──┴──┘

根据需要使用脚本/插件中的joinstring动词strings来加入装箱的字符串。对于 J7 之前的版本,您需要require 'strings'确保joinstring动词可用。

   ' ' joinstring 8!:0 a
11 22 33 44
   '' joinstring 8!:0 a
11223344
   '","' joinstring 8!:0 a
11","22","33","44
于 2013-07-23T11:44:54.127 回答