这里介绍一种基于Shell实现的字符串拆分函数,支持任意字符串输入和作为分隔符的字符串。
代码实现如下:
# 定义字符串拆分函数 split_string
function split_string() {
local string="$1" delimiter="$2"
# 将字符串转换为数组
local array=()
while read -d"$delimiter" -r item; do
array+=("$item")
done <<< "${string}${delimiter}"
# 输出数组元素
printf '%s\n' "${array[@]}"
}
使用示例:
# 定义要拆分的字符串和分隔符
string="apple,banana,orange"
delimiter=","
# 调用函数进行拆分
split_string "$string" "$delimiter"
运行结果:
apple
banana
orange
说明:
定义函数split_string,该函数接收两个参数:要拆分的字符串和分隔符。
将字符串转换为数组,使用while循环读取每个分隔符之前的字符串,并将其加入数组中。
输出数组元素,使用printf命令输出数组中的所有元素,并使用换行符分隔。
使用示例定义了要拆分的字符串和分隔符,并调用函数split_string进行拆分。
最终输出结果为拆分后的字符串数组元素:apple、banana和orange。