codecamp

Bash 提取子字符串

在 Bash 中可以使用多种方法从字符串中提取子串。子串就是包含在其父字符串中的子字符串。

基础语法定义

提取子字符串的命令是 Bash 的内置命令,相比于其他的字符串操作,给予了很大的便利。

语法:

${variable:offset:length}

注:
- variable是目标字符串的变量名称。
- offset位置,指定从何处开始提取字符串。
- length偏移量,指定开始执行的字符范围。

应用示例

从字符串开头提取至指定字符结束

#!/bin/bash


echo "String: welcome to W3Cschool."
str="welcome to W3Cschool."


echo "Total characters in a String: ${#str} "


substr="${str:0:10}"


echo "Substring: $substr"
echo "Total characters in Substring: ${#substr} "

执行后得到以下结果:

String: welcome to W3Cschool.
Total characters in a String:21
Substring: welcome to
Total characters in Substring:10

从指定字符开始提取至结尾结束

#!/bin/bash


str="welcome to W3Cschool."
substr="${str:12}"
echo "$substr"

执行后得到以下结果:

3Cschool.
Bash 拆分字符串
Bash 拼接字符串
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }