fungsi shell
Pendekatan yang sedikit lebih verbose, tetapi bekerja pada semua jenis karakter pertama dan terakhir, tidak harus sama. Ide dasarnya adalah kita mengambil variabel, membacanya karakter demi karakter, dan menambahkan hanya yang kita inginkan ke variabel baru
Inilah keseluruhan gagasan yang diformat menjadi fungsi yang bagus
crop_string_ends() {
STR="$1"
NEWSTR=""
COUNT=0
while read -n 1 CHAR
do
COUNT=$(($COUNT+1))
if [ $COUNT -eq 1 ] || [ $COUNT -eq ${#STR} ]
then
continue
fi
NEWSTR="$NEWSTR"$CHAR
done <<<"$STR"
echo $NEWSTR
}
Dan di sini adalah fungsi yang sama dalam aksi:
$> crop_string_ends "|abcdefg|"
abcdefg
$> crop_string_ends "HelloWorld"
elloWorl
Python
>>> mystring="|abcdefg|"
>>> print(mystring[1:-1])
abcdefg
atau di baris perintah:
$ python -c 'import sys;print sys.stdin.read()[1:-2]' <<< "|abcdefg|"
abcdefg
AWK
$ echo "|abcdefg|" | awk '{print substr($0,2,length($0)-2)}'
abcdefg
Rubi
$ ruby -ne 'print $_.split("|")[1]' <<< "|abcdefg|"
abcdefg
awk -F\| '{ print $2 }' <<<"|string|"