对字符串变量取值的处理一
2022/1/7 6:07:50
本文主要是介绍对字符串变量取值的处理一,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
shell中对字符串变量取值的处理一
定义字符串变量
table_name='maomao_table_temp_20220106'
获取变量字符串长度
# ${#变量名} echo ${#table_name} # 结果: 26
字符串变量的位数截取
# 从左边开始截取 ${变量名:起始位置:截取位数};字符串就相当于字符数组,从0开始计算位数 echo ${table_name:7:5} # 结果: table # 可以将截取位数省略,就相当于截取从起始位置开始直到末尾的字符 echo ${table_name:7} # 结果: table_temp_20220106 # 从右边开始截取 ${变量名:0-起始位置:截取位数}/${变量名: -起始位置:截取位数},只影响起始位置的判断。如下表示从倒数第8的位置往后截取4位 echo ${table_name:0-8:4} #结果: 2022 echo ${table_name: -8:4} #结果: 2022 # 可以省略截取位数,也相当于截取到末尾 echo ${table_name:0-8} # 结果: 20220106 echo ${table_name: -8} # 结果: 20220106
字符串变量的匹配截取
# 从左边开始匹配字符,删除包括匹配到的字符左边所有的字符 ${变量名#*匹配字符*匹配字符...},每写一个*匹配字符就从左边开始匹配删除一个匹配到的字符串 echo ${table_name#*_} # 结果: table_temp_20220106 echo ${table_name#*_*_} # 结果: temp_20220106 # 贪婪匹配 ${变量名##*匹配字符} 会尽可能多的删除字符串 echo ${table_name##*_} # 结果: 20220106 # 从右边开始匹配字符,删除包括匹配到的字符右边所有的字符 ${变量名%匹配字符*匹配字符*...},每写一个*匹配字符就从右边开始匹配删除一个匹配到的字符串 echo ${table_name%_*} # 结果: maomao_table_temp echo ${table_name%_*_*} # 结果: maomao_table # 贪婪匹配 ${变量名%%匹配字符*} 会尽可能多的删除字符串 echo ${table_name%%_*} # 结果: maomao
定义字符串变量
str='maomao_table_tmp_tmp_20220106'
字符串变量的匹配替换
# 从左边开始替换第一个匹配到的字符 ${变量名/匹配字符/替换字符} echo ${str/tmp/TMP} # 结果: maomao_table_TMP_tmp_20220106 # 替换所有匹配到的字符 ${变量名//匹配字符/替换字符} echo ${str//tmp/TMP} # 结果: maomao_table_TMP_TMP_20220106
这篇关于对字符串变量取值的处理一的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24怎么修改Kafka的JVM参数?-icode9专业技术文章分享
- 2024-12-23线下车企门店如何实现线上线下融合?
- 2024-12-23鸿蒙Next ArkTS编程规范总结
- 2024-12-23物流团队冬至高效运转,哪款办公软件可助力风险评估?
- 2024-12-23优化库存,提升效率:医药企业如何借助看板软件实现仓库智能化
- 2024-12-23项目管理零负担!轻量化看板工具如何助力团队协作
- 2024-12-23电商活动复盘,为何是团队成长的核心环节?
- 2024-12-23鸿蒙Next ArkTS高性能编程实战
- 2024-12-23数据驱动:电商复盘从基础到进阶!
- 2024-12-23从数据到客户:跨境电商如何通过销售跟踪工具提升营销精准度?