有越來越顛倒字符串爲數組的幾種方法,這裏是一個:
#!/bin/bash
STRING="test string"
# First, reverse the string into a new variable
REV_STRING=$(rev <<< $STRING)
# Declare the array
declare -a ARRAY
ARRAY_LEN=${#REV_STRING}
ARRAY_UPPER_BOUND=$((ARRAY_LEN - 1))
for i in $(seq 0 $ARRAY_UPPER_BOUND); do
# Here, ${REV_STRING:$i:1} is equivalent to say REV_STRING.charAtPosition(i)
ARRAY[$i]=${REV_STRING:$i:1}
done
# To print the array content
for i in $(seq 0 $ARRAY_UPPER_BOUND); do
echo ${ARRAY[$i]}
done
此外,您可以在循環中使用cut
,如下所示:
#!/bin/bash
STRING="test string"
REV_STRING=$(rev <<< $STRING)
declare -a ARRAY
ARRAY_LEN=${#REV_STRING}
for i in $(seq 1 $ARRAY_LEN); do
# Here, ${REV_STRING:$i:1} is equivalent to say REV_STRING.charAtPosition(i)
# ARRAY[$i]=${REV_STRING:$i:1}
ARRAY[$i]=$(echo $REV_STRING | cut -c$i)
done
# To print the array content
for i in $(seq 1 $ARRAY_LEN); do
echo ${ARRAY[$i]}
done
你想將一個反轉的字符串轉換爲char數組嗎? – higuaro