Return a formatted string containing fields from a text string.







text to be separated into fields by the nthargf() function The text can be a text string enclosed in double quotation marks, or one or more PSL commands that produce text as output.


integer list specifying the field numbers nthargf() should look for in each line of text*Valid Values* 
x,y field x and field y 
x-y all fields from x to y inclusive 
-x all fields from 1 to x inclusive 
x- all fields from x to the new-line character inclusive


one or more characters that nthargf() should treat as field separators when examining text Thenthargf() function treats each occurrence of delimiters as delimiting a field. The nthargf() function interprets two or more adjacent delimiters as delimiting one or more NULL fields.

space and \t (tab)


optional character(s) that should be placed between each field of nthargf() output*Default* 
new-line character (\n).


optional character(s) that nthargf() uses to replace each new-line character (\n) that appears intext

new-line character (\n).

If separator is "-" and line_separator is "?", ntharg() converts "red green\nblue orange\nyellow purple" to "red-green?blue-orange?yellow-purple".


The nthargf() function returns the arguments in text. The nthargf() function normally interprets each line in text as a white space-separated (space or tab) list of fields. If delimiters is given, it specifies the list of characters that nthargf()should treat as field separators. The nthargf() function normally returns selected fields as a new-line delimited list. Ifseparator is given, it specifies the delimiter to be placed between items in the returned list. 

The difference between the nthargf() function and the ntharg() function is as follows:

  • The nthargf() function treats each delimiter as the end of a field. The nthargf() function interprets two or more adjacent delimiters as delimiting one or more NULL strings whose content can be requested and returned.
  • The ntharg() function treats each delimiter that follows a non-delimiter character as the end of a field. Thentharg() function interprets two or more adjacent delimiters as a single delimiter, thereby ignoring multiple delimiters and treating them as one.


The following example illustrates the difference between the ntharg() function and the nthargf() function:

string = "abc::123:xyz";
A = ntharg(string,"3",":");
B = nthargf(string,"3",":");
print("ntharg() 3rd string argument is ",A,"\n");
print("nthargf() 3rd string argument is ",B,"\n");

The example produces the following output:

ntharg() 3rd string argument is xyz
nthargf() 3rd string argument is 123

Was this page helpful? Yes No Submitting... Thank you