字符串
1. 定义和赋值
sh
# 使用双引号
my_string="Hello, World!"
# 使用单引号
another_string='This is a string.'
单引号和双引号的区别:
单引号('):引用内容不会被解释,保留原样。
双引号("):可以解析变量和一些转义字符,如\n和\t。
2. 连接字符串
sh
str1="Hello"
str2="World"
combined="$str1, $str2!" # 结果为 "Hello, World!"
echo "$combined"
3. 获取字符串长度
使用${#string}
来获取字符串长度:
sh
length=${#my_string}
echo "Length: $length" # 输出:Length: 13
4. 提取子串
使用${string:start:length}
提取子串:
sh
sub_string=${my_string:0:5} # 提取从索引0开始的5个字符
echo "$sub_string" # 输出:Hello
5. 字符串转大写
如果你需要将一个字符串分割成多个部分,可以使用read
和管道:
sh
string="apple,banana,cherry"
IFS=',' read -r -a array <<< "$string" # 将字符串以逗号分割转换为数组
# 遍历数组
for fruit in "${array[@]}"; do
echo "$fruit"
done
6. 字符串转小写
sh
my_name="jack"
echo ${my_name^^} # JACK
7. 字符串替换
sh
my_name="Hello, World"
new_string=${my_string/World/Universe} # 将第一个"World"替换为"Universe"
echo "$new_string" # 输出:Hello, Universe!
# 全部替换
new_string=${my_string//o/O} # 将所有的"o"替换为"O"
echo "$new_string" # 输出:HellO, WOrld!
8. 字符串转数组
sh
string="apple,banana,cherry"
IFS=',' read -r -a array <<< "$string" # 将字符串以逗号分割转换为数组
# 遍历数组
for fruit in "${array[@]}"; do
echo "$fruit"
done