middle, middle include, middle until, middle until include, vmiddle, vmiddle include, vmiddle until, vmiddle until include
This function extracts a middle part of the string either with two character position numbers or matching patterns or a combination of both.
Vectorization: The function names beginning with the prefix v support vectorization in the 1st function parameter.
Instead of providing a single value, you can provide a set or even a nested set which contain multiple values.
The function will then process every value and its return value contains a corresponding set containing all results.
Note:For these functions, you need add the prefix letter 'v' in front of the function name. Otherwise
the function recognizes a set and attempts to process sets and not strings.
See middle [set function] for the corresponding set function.
Indirect parameter passing is disabled
Vectorization is allowed in the 1st function parameter
3
No. | Type | Description |
---|---|---|
1 input |
valid types | input string or value(s) Attention: Numerals and dates are converted to strings prior to processing. If 1st parameter is a set:
|
2 input |
numeral | starting character position Positive: String begins with specified character position (0 = 1st character, 1 = 2nd character, etc.) |
Alt. 2 input |
string | starting matching pattern Function middle ...: Middle part of the string begins after the starting matching pattern. |
3 input |
numeral | character count or ending character position For function names middle and middle include, this parameter specifies the number of characters to include. |
Alt. 3 input |
string | ending matching pattern Function middle ...: Middle part of the string ends before the ending matching pattern. |
Type | Description |
---|---|
string set |
Extracted substring(s) In case vectorization has been applied, then the resulting strings are returned inside a (nested) set. |
st[] = "The taste of the coffee!";
echo( middle( st[], 4, 8 ), " / ", middle until ( st[], 4, 8 ) );
echo( middle( st[], -6, 3 ), " / ", middle until( st[], -7, -2 ) ); // "off", "coffee"
echo;
echo( middle( st[], 99, 8 ), " / ", middle until ( st[], 99, 8 ) ); // empty strings
echo( middle( st[], -99, 8 ), " / ", middle until ( st[], -99, 8 ) );
echo;
echo( middle( st[], 'taste ', 13 ), " / ", middle include( st[], 'taste ', 13 ) ); // "of the coffee", "tast of the coffee"
echo;
echo( middle until( st[], 'taste ', -2 ), " / ", middle until include( st[], 'taste ', -2 ) ); // "of the coffee", "tast of the coffee"
echo( middle until include( st[], 'taste ', 3 ), " / ", middle until include( st[], 'taste ', 6 ) ); // "", "tas"
echo;
echo( middle ( st[], 'taste ', ' coffee' ), " / ", middle include( st[], 'taste ', ' coffee' ) ); // "of the", "tast of the coffee"
taste of / taste
off / coffee
/
The tast / The taste
of the coffee / taste of the coffee
of the coffee / taste of the coffee
/ tas
of the / taste of the coffee
left [string function]
right [string function]
outside [string function]
middle [set function]