left ... (string function)

Prev Next

Function Names

left, left include, left last match, left last match include, vleft, vleft include, vleft last match, vleft last match include

Description

This function extracts a left part of the string either with a character position number or a matching pattern.

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 left [set function] for the corresponding set function.

  • left:Returns left part of string until specified position (1 = 1st character) or first matching string
  • left last match:Returns left part of string until last first matching string
  • left include: Like left, but matching string is included in returned string
  • left last match include: Like left last match, but matching string is included in returned string
  • vleft:Like left, vectorization applies if a set with strings is provided instead of a string.
  • vleft last match:Like left last match, vectorization applies if a set with strings is provided instead of a string.
  • vleft include:Like left include, vectorization applies if a set with strings is provided instead of a string.
  • vleft last match include:Like left last match, vectorization applies if a set with strings is provided instead of a string.


Call as: function

Restrictions

Indirect parameter passing is disabled
Vectorization is allowed in the 1st function parameter

Parameter count

2

Parameters

No.TypeDescription
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:

  • If the function name starts with the v prefix, the vectorization applies. Provide multiple values in a (nested) set to process all of them at once.
  • Otherwise, please refer to left [set function] instead. Values of types other than string will be converted to strings first.

2
input
numeral character position

Positive: Keep number of characters counted from the left (0 = blank string, 1 = 1st character, etc.)
Larger than character count: Full string returned
Negative: Keep number of characters counted from the right (-1 = all except last character)

Smaller than minus character count: Empty string returned
Zero: Empty string returned

The function name ending '... include' will be ignored. Using the function name part '... last match ...' will assert an error.

Alt. 2
input
string matching pattern

Function left ...: Return the left part of the string without the matching pattern.
Function left include ...: Return the left part of the string including the matching pattern.
Function name ending ... last match: Looks for the last matching pattern in the string and not the first one.
Empty strings will be interpreted as positive match before the 1st character and this function returns empty strings.

Matching patterns are case-sensitive.
Attention: The matching pattern parameter distinguishes between strings and softquoted strings.
In softquoted strings, following wildcard symbols act as placeholders: '?' for any character, '#' for any digit and '^' for any letter.

Return value

TypeDescription
string
set
Extracted substring(s)

In case vectorization has been applied, then the resulting strings are returned inside a (nested) set.

Examples

               st[] = "The taste of the coffee!";

               echo( left( st[], 0 ), " / ", left( st[], 1 ), " / ", left( st[], -2 ), " / ", left( st[], -1 ) );
               echo( left( st[],99 ), " / ", left( st[],-99) );
               echo;
               echo( left( st[], ' taste' ), " / ", left include( st[], ' taste' ) );
               echo( left( st[], ' ' ), " / ", left last match( st[], ' ' ) );
               echo( left last match include( st[], 'e' ) ); // Strips exclamation mark only
               echo;
               echo( left( st[], 'c^ffee' ) ); // Softquoted string (no or single quotation marks) - matched
               echo( left( st[], "c^ffee" ) ); // Quoted string     (double quotation marks) - not matched

Output

 / T / The taste of the coffe / The taste of the coffee
The taste of the coffee! /

The / The taste
The / The taste of the
The taste of the coffee

The taste of the
The taste of the coffee!
Try it yourself: Open LIB_Function_left.b4p in B4P_Examples.zip. Decompress before use.

See also

right [string function]
middle [string function]
outside [string function]
left [set function]