shell字符串切片
时间: 2023-12-05 08:40:51 浏览: 45
以下是几种常用的shell字符串切片方法:
1. 使用${var: start: length}来获取从start位置开始,长度为length的子字符串。
```shell
str="hello world"
echo ${str: 0: 5} # 输出:hello
```
2. 使用${var#pattern}来删除var中匹配到的pattern字符串,#表示从左边开始删除最短匹配。
```shell
str="hello world"
echo ${str#hello} # 输出: world
```
3. 使用${var##pattern}来删除var中匹配到的pattern字符串,##表示从左边开始删除最长匹配。
```shell
str="hello world"
echo ${str##*l} # 输出:d
```
4. 使用${var%pattern}来删除var中匹配到的pattern字符串,%表示从右边开始删除最短匹配。
```shell
str="hello world"
echo ${str%world} # 输出:hello
```
5. 使用${var%%pattern}来删除var中匹配到的pattern字符串,%%表示从右边开始删除最长匹配。
```shell
str="hello world"
echo ${str%%l*} # 输出:he
```
相关问题
shell遍历字符串
Shell遍历字符串可以使用for循环和字符串切片的方式,具体实现如下:
1. 使用for循环遍历字符串
```shell
str="hello world"
for i in ${str}; do
echo ${i}
done
```
输出结果为:
```
hello
world
```
2. 使用字符串切片遍历字符串
```shell
str="hello world"
len=${#str}
for ((i=;i<len;i++)); do
echo ${str:i:1}
done
```
输出结果为:
```
h
e
l
l
o
w
o
r
l
d
```
以上两种方法都可以用来遍历字符串,根据实际需求选择合适的方法即可。
shell截取字符串后几位
可以使用字符串切片的方式来截取字符串的后几位。例如,如果要截取字符串的后三位,可以使用以下代码:
```
str="hello world"
echo ${str: -3}
```
其中,`${str: -3}`表示从字符串 `str` 的倒数第三个字符开始截取到字符串结尾的所有字符。输出结果为 `rld`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)