Substring/Top and tail: Difference between revisions

Content added Content deleted
Line 1,624: Line 1,624:


=={{header|UNIX Shell}}==
=={{header|UNIX Shell}}==
Only zsh supports nest string manipulation.


First ''or'' last character:
<lang bash>

#!/bin/zsh
str='abcdefg'
<lang bash>str='abcdefg'
echo ${str#?} # Remove first char
echo "${str#?}" # Remove first char
echo ${str%?} # Remove last char
echo "${str%?}" # Remove last char</lang>

echo ${${str#?}%?} # Remove first & last chars
First ''and'' last character:
</lang>

: Only zsh supports nested string manipulation.
: <lang bash>echo ${${str#?}%?} # Remove first & last chars</lang>
: bash and ksh, use substring expansion, from character index 1 for length of (string length) minus 2
: <lang bash>echo "${s:1:${#s}-2}"</lang>
: POSIX shells like dash, need a temp variable
: <lang bash>tmp=${s#?}; tmp=${tmp%?}; echo "$tmp"</lang>


=={{header|Vala}}==
=={{header|Vala}}==