龙空技术网

风小逍陪你一起学习SHELL编程 - 字符串切片

风小逍 76

前言:

此刻同学们对“字符串切片表示”都比较重视,看官们都需要了解一些“字符串切片表示”的相关文章。那么小编也在网上收集了一些关于“字符串切片表示””的相关资讯,希望我们能喜欢,你们一起来了解一下吧!

在Shell脚本中,你可以使用一些方法来执行字符串切片操作。示例如下:

从开头到指定位置的子字符串:

string="Hello World" substring=${string:0:7} # 从索引0开始,取7个字符 echo $substring # 输出: Hello W
从指定位置到字符串末尾的子字符串:
string="Hello World" substring=${string:6} # 从索引6开始到字符串末尾 echo $substring # 输出: World
从末尾向前切片:
string="Hello World" substring=${string: -5} # 从倒数第5个字符到末尾 echo $substring # 输出: World

此处,只是指定了索引的开始位置,省略了要取的字符串长度,那么也就是默认要取的字符串长度是从索引开始位置到字符串末尾。

从末尾向前切片并指定长度:

string="Hello World" substring=${string: -5:3} # 从倒数第5个字符开始,取3个字符 echo $substring # 输出: Wor
使用变量和参数扩展:
string="Hello World" start=3 length=5 substring=${string:$start:$length} # 从变量$start指定的位置开始,取变量$length指定的长度 echo $substring # 输出: lo Wo
注意事项:在Shell脚本中,字符串的索引是从0开始的。负数索引从字符串末尾开始计算,-1代表最后一个字符,-2代表倒数第二个字符,依此类推。如果省略长度,则会取从指定位置到字符串末尾的所有字符。知识点

 ${string: -5} 和 ${string:-5} 的区别。虽然两者只是多了或者少了一个空格,但两者含义大相径庭。

${string: -5}:

 这是一种字符串切片操作。-5 表示从倒数第5个字符开始切片到字符串末尾。

${string:-5}:

 这是一种参数扩展形式,称为“使用默认值”操作符。它检查变量 string 是否已经设置,如果没有设置或者为空,它会使用默认值 5。

举例来说:

string="Hello World" # ${string: -5} 是从字符串末尾向前切片,提取最后5个字符 substring1=${string: -5} echo $substring1 # 输出: World # ${string:-5} 是参数扩展,如果$string未设置或为空,则使用默认值5 substring2=${string:-5} echo $substring2 # 输出: Hello World,因为$string已经设置,所以未使用默认值substring3=${nonstring:-5} echo $substring3 # 输出: 5,因为$nonstring没有设置,所以使用默认值

未完待续...

标签: #字符串切片表示