Array used by mbfl_string_chars()
to store the result of splitting a string.
Array used by mbfl_string_chars()
to store the number of values in SPLITFIELD
.
Split a string into characters. Fill an array named SPLITFIELD
with the characters from the
string; the number of elements in the array is stored in a variable named SPLITCOUNT
. Both
SPLITFIELD
and SPLITCOUNT
can be declared local
in the scope of the caller.
The difference between this function and using ${STRING:$i:1}
, is that this function
detects backslash characters, \
, and treats them as part of the following character. So, for
example, the sequence \n
is treated as a single char.
Example of usage for mbfl_string_chars()
:
local SPLITFIELD local -i SPLITCOUNT string="abcde\nfghilm" mbfl_string_chars "${string}" $SPLITCOUNT ⇒ 12 "${SPLITFIELD[0]}" ⇒ a "${SPLITFIELD[1]}" ⇒ b "${SPLITFIELD[2]}" ⇒ c "${SPLITFIELD[3]}" ⇒ d "${SPLITFIELD[4]}" ⇒ e "${SPLITFIELD[5]}" ⇒ \n "${SPLITFIELD[6]}" ⇒ f "${SPLITFIELD[7]}" ⇒ g "${SPLITFIELD[8]}" ⇒ h "${SPLITFIELD[9]}" ⇒ i "${SPLITFIELD[10]}" ⇒ l "${SPLITFIELD[11]}" ⇒ m
Split STRING into fields using SEPARATOR. Fill an array named SPLITFIELD
with
the characters from the string; the number of elements in the array is stored in a variable named
SPLITCOUNT
. We can declare both SPLITFIELD
and SPLITCOUNT
as local
in
the scope of the caller.
Split STRING into fields using adjacent blank characters as separators. Fill an array named
SPLITFIELD
with the characters from the string; the number of elements in the array is stored
in a variable named SPLITCOUNT
. We can declare both SPLITFIELD
and SPLITCOUNT
as local
in the scope of the caller.
local -a SPLITFIELD local -i SPLITCOUNT local STRING printf -v STRING 'abc\t \tdef\t\t ghi \t\tlmn\t \topq\t\t rs' mbfl_string_split_blanks "$STRING" $SPLITCOUNT ⇒ 6 "${SPLITFIELD[0]}" ⇒ abc "${SPLITFIELD[1]}" ⇒ def "${SPLITFIELD[2]}" ⇒ ghi "${SPLITFIELD[3]}" ⇒ lmn "${SPLITFIELD[4]}" ⇒ opq "${SPLITFIELD[5]}" ⇒ rs
This document describes version 3.0.0-devel.9 of Marcos Bash Functions Library.