我有字符串“你好,你好吗” 我想把这个字符串放到一个数组中,如下所示。但我想保留空间。关于如何做到的任何想法?
a[0] a[1] a[2] 3 4 5 6 .... should have
h i <space> h o w <space> .... and so on.
答案 0 :(得分:2)
一种方式,确定会有更好的解决方案,但这似乎对我有用:
unset arr; IFS=; for c in $(sed 's/./&\n/g' <<<"hi how are you"); do arr+=("$c"); done; echo "${arr[@]}"
它产生:
h
i
h
o
w
a
r
e
y
o
u
答案 1 :(得分:1)
eval a=( $(echo "hi how are you" | sed "s/\(.\)/'\1' /g") )
这真的很难看,也许有人可以提出没有eval
...
答案 2 :(得分:1)
可能不会很快,但不需要sed
:
z=()
while read -n 1 x; do
z+=( "$x" )
done <<<"hi how are you"