我应该如何遍历字符串中的所有字符。
我的伪代码
stringVar="abcde"
for var in stringvar
{
do some things with var
}
我需要的结果 一个
B'/ P>
C
d
我想循环所有变量,但我只能使用空白分割变量
stringVar="a b c"
for var in stringVar; do
echo $var
done;
结果
一
B'/ P>
C
但我不能用一个没有用空格分割的字符串。
该问题被标记为重复,但链接问题中没有其中一个答案(带有upvotes)..
答案 0 :(得分:3)
您可以使用read
:
string="abcde"
while read -n 1 char ; do
echo "$char"
done <<< "$string"
使用-n 1
read
将一次读取一个字符。但是,输入重定向<<<
会在$string
的末尾添加换行符。
答案 1 :(得分:1)
stringVar="abcde"
for ((i=1;i<=${#stringVar};i++)); do
echo ${stringVar:$i-1:1}
done
输出:
a b c d e