Manipulating Strings

Length of a string

var="This is my personal blog"
length=${#var}
echo $length    : should return 24

Extract a Sub-string from a variable

${string:position:length}
var="This is my personal blog"
echo ${var:10}    : will return 'personal blog'
echo ${var:10:9}  : will return 'personal'

Delete anything before a defined character/string

${string#sub-string}
var="This is my personal blog"
string=${var#* }   : will return 'is my personal blog'
string=${var#*p}   : will return 'ersonal blog'

Delete anything before a defined character/string

${string#sub-string}
var="This is my personal blog"
string=${var%i*}   : will return 'This '
string=${var%p*}   : will return 'This is my'

Longest Sub-string Match

${string##sub-string} : deletes whatever is before sub-string
${string%%sub-string} : deletes whatever is after sub-string
var="This is my personal blog"
echo ${var##*personal}   : will return 'blog'
echo ${var%%personal*}   : will return 'This is my '