当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
帖子发表于 : 2011-05-05 22:46 

注册: 2010-12-08 22:22
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
小弟初学,怎么将"12345"拆分成"1 2 3 4 5"这样的数组?有哪些方法?谢谢了。
例如:将a=12345,在脚本文件中拆分成b=(1 2 3 4 5)。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
帖子发表于 : 2011-05-06 8:48 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
拆开了,也不就是数组。
shell/bash可没自动类型转换。


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
帖子发表于 : 2011-05-06 10:39 

注册: 2011-03-01 23:14
帖子: 48
送出感谢: 5
接收感谢: 0 次
嗯。而且不太清楚楼主拆开要做什么。
你可以用 ${a:0:1} ${a:1:1} 的方式来引用 a 的各个位。
${#a} 可以得到 a 串的长度。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
帖子发表于 : 2011-05-06 18:00 

注册: 2007-01-02 4:09
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
a="stringwithoutspace"

方法1.

用sed把给每个字符后加个空格然后构建一个数组:

b=($(echo $s | sed 's/./ &/g;s/^ //'))

方法2.

利用seq和3楼所说的方法构建一个数组:)


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
帖子发表于 : 2011-05-07 9:02 

注册: 2009-03-29 18:15
帖子: 18
送出感谢: 0 次
接收感谢: 0 次
perl -e '@array=split(//, "12345");print join(" ", @array)'


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
帖子发表于 : 2011-05-08 22:35 

注册: 2009-07-01 22:04
帖子: 919
送出感谢: 0 次
接收感谢: 13
或者:
b=($(echo $a|grep -o '.'|xargs))


_________________
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
帖子发表于 : 2011-05-09 9:31 

注册: 2010-12-08 22:22
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
偶起初使用的方法与3楼一样,不过觉得4、6楼的方法更好。如果是使用awk,有该怎么差分呢?


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
帖子发表于 : 2011-05-09 22:55 

注册: 2009-07-01 22:04
帖子: 919
送出感谢: 0 次
接收感谢: 13
echo $a|awk '{split($0,b,"");for (i in b) print b[i]}'


_________________
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:funicorn 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译