分页: 1 / 1
如何将"12345"拆分成"1 2 3 4 5"这样的数组?
发表于 : 2011-05-05 22:46
由 xkowen
小弟初学,怎么将"12345"拆分成"1 2 3 4 5"这样的数组?有哪些方法?谢谢了。
例如:将a=12345,在脚本文件中拆分成b=(1 2 3 4 5)。
Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
发表于 : 2011-05-06 8:48
由 eexpress
拆开了,也不就是数组。
shell/bash可没自动类型转换。
Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
发表于 : 2011-05-06 10:39
由 pangding
嗯。而且不太清楚楼主拆开要做什么。
你可以用 ${a:0:1} ${a:1:1} 的方式来引用 a 的各个位。
${#a} 可以得到 a 串的长度。
Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
发表于 : 2011-05-06 18:00
由 jonef
a="stringwithoutspace"
方法1.
用sed把给每个字符后加个空格然后构建一个数组:
b=($(echo $s | sed 's/./ &/g;s/^ //'))
方法2.
利用seq和3楼所说的方法构建一个数组:)
Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
发表于 : 2011-05-07 9:02
由 zjfcctv
perl -e '@array=split(//, "12345");print join(" ", @array)'
Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
发表于 : 2011-05-08 22:35
由 fnan
或者:
b=($(echo $a|grep -o '.'|xargs))
Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
发表于 : 2011-05-09 9:31
由 xkowen
偶起初使用的方法与3楼一样,不过觉得4、6楼的方法更好。如果是使用awk,有该怎么差分呢?
Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
发表于 : 2011-05-09 22:55
由 fnan
echo $a|awk '{split($0,b,"");for (i in b) print b}'