Initializing help system before first use

parsetext

Purpose
Extract a text from a text.
Synopsis
function parsetext(txt:text,start:integer):text
function parsetext(txt:text):text
function parsetext(txt:text,pctx:parsectx):text
function parsetext(txt:text,ta:textarea):text
Arguments
txt 
A text object
pctx 
A parser context
ta 
A text area object
start 
Starting position in the text (default value depends on which other arguments are used)
Return value
Decoded text.
Example
The following:
t:=text("a123.4b")
setparam("sys_sepchar",46)  ! '.'
writeln(parsetext(t,2))
writeln(getparam("sys_endparse"))
produces this output:
123
5
Further information
1. The behaviour of this routine depends on 2 control parameters: sys_sepchar (or context property sepchar) defines a field separator that may mark the end of a non-quoted string and the parameter sys_qtype (or context property qtype) specifies the convention to use for quoted strings: if this parameter has value 0 (the default), Mosel quoting convention is used (both single and double quotes may be employed and with double quotes escape sequences are allowed); with value -1 no quoting is expected; with value 1, C/C++ quoting convention applies (only double quotes with escape sequences); with value 3, JSON quoting convention applies (only double quotes with escape sequences). Finally, with value 2, CSV convention is expected (double quotes and repetition of double quotes to escape this character). The returned string is decoded: quotes are removed and escape sequences are replaced by their corresponding characters.
2. The parsing begins at the specified starting position and stops as soon as the separator character ( sys_sepchar or context property sepchar respectively) is found or the quoted string is terminated.
  • Standard (initial two) versions: if start is not provided then the value of the control parameter sys_endparse is used as starting position; the location where parsing stops is stored in the parameter sys_endparse.
  • Version using a parser context: the information contained in the parser context is used instead of the global parameters (see Section The type parsectx); the context property endparse indicates the starting position and is updated with the location where parsing stops.
  • Version using a textarea object: the routine uses the start property of the object (see Section The type textarea) as the starting position but it does not store the position where parsing stops, in particular it does not modify the parameter sys_endparse.
3. In case of error, getsysstat will return a negative value. A positive value indicates that a quoted string is unfinished ( i.e. the end of the source text is reached although no matching quote has been found).
Related topics
Module

© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.