Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Shell string processing

2025-01-18 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/02 Report--

字符串切片操作

shell字符串切片操作与数据组元素字符切片操作基本相同,在shell中处理字符串要注意以下几点:

1. shell中的字符串处理操作与Python的处理机制很相似,Python中的切片操作支持步长切片和逆序显示。2. 汉字占一个字符2. 字符串切片操作同样基于索引机制3. 索引编号:从左到右元素字符串起始偏移量编号为0;从右到从元素字符串起始偏移量编号为-14. 查询字符串长度 ${#var}

切片语法:${var:offset}、 ${var:offset:number}

同样先解释一下offset、number参数

offset:指定截取字符串的起始位置偏移量

number:指定截取元素字符串的长度或结束位置

1. offset:正数时代表从左向右截取,为负数时代表从右向左截取。2. number:为正数时代表截取长度,为负数则代表结束位置,当number为代表结束位置时截取内容不包括第m位

基于模式截取子字符串

#自左向右

${var#word}:# 号自左向右,查找var变量所存储的字符串中,将第一次出现的匹配word的字符串删除。*可以理解为匹配任意长度任意字符${var##word*}:## 开启贪婪模式,自左向右依次匹配,将并所有匹配的字符串都删除,留下未匹配的部分。

%自右向左

${var%word}:%号自右向左,查找var变量所存储的字符串中,将第一次出现的匹配word的字符串删除。*可以理解为匹配任意长度任意字符${var%%word}:%%开启贪婪模式,自右向左依次匹配,将并所有匹配的字符串都删除,留下未匹配的部分。

基于模式匹配查找替换字符

1. ${var/pattern/substr} 基于模式自左而右匹配变量中存储的字符串,并将第1个匹配到的字符串替换为substr。2. ${var//pattern/substr} 基于模式自左而右匹配变量中存储的字符串,并替换所有匹配到的字符串为substr3. ${var/#pattern/substr} 将行首匹配到的字符串替换为substr4. ${var/%pattern/substr} 将行尾匹配到的字符串替换为substr

基于模式匹配删除子字符串

1. ${var/pattern}:删除var表示的字符串中第一次被pattern匹配到的字符串2. ${var//pattern}:删除var表示的字符串中所有被pattern匹配到的字符串 3. ${var/#pattern}:删除var表示的字符串中所有以pattern为行首匹配到的 字符串4. ${var/%pattern}:删除var所表示的字符串中所有以pattern为行尾所匹配 到的字符串

字符大小写转换

${var^^}:把var中的所有小写字母转换为大写${var,,}:把var中的所有大写字母转换为小写

重点记忆

索引编号:从左到右元素字符串起始偏移量编号为0;从右到从元素字符串起始偏移量编号为-1offset:正数时代表从左向右截取,为负数时代表从右向左截取number:为正数时代表截取长度,为负数则代表结束位置,当number为代表结束位置时截取内容不包括第m位

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report