|

楼主 |
发表于 2008-9-27 23:02:20
|
显示全部楼层
Post by remote fish;1887737
要是用 bash 的话, 也许可以试试下面的代码- #!/bin/sh
- src=";;123;321"
- # 利用 bash 的 Parameter Expansion 功能把 ';' 全替换成 ' ', 再扩展成数组
- dst=( ${src//;/ } )
- # 这种方法是等效的, 不过比较好理解
- dst=( $(echo $src | sed 's/;/ /g') )
- echo $dst
- echo ${dst[0]}
- echo ${dst[1]}
复制代码
";;123;321"分隔形成的数组的第一个和第二个元素应该是为空的啊。
而你的${dst[0]}和${dst[1]}却等于123和321哦。
再比如说,假如字符串是
;;122 2132;1232
形成的数组应该是"","", "122 2132","1232",数组长度应为4.
但代码( $(echo $src | sed 's/;/ /g') )形成的数组长度却为3,元素分别是"122", "2132", "1232". |
|