]>
The type String provides character strings. Character strings provide all the operations for a one-dimensional array of characters, plus additional operations for manipulating text. For more information on related topics, see CharacterXmpPage and CharacterClassXmpPage . You can also issue the system command )show String to display the full list of operations defined by String.
String values can be created using double quotes.
Note, however, that double quotes and underscores must be preceded by an extra underscore.
It is also possible to use newnewString to create a string of any size filled with a given character. Since there are many new functions it is necessary to indicate the desired type.
The length of a string is given by #.
Indexing operations allow characters to be extracted or replaced in strings. For any string s, indices lie in the range 1.. #s.
Indexing is really just the application of a string to a subscript, so any application syntax works.
If it is important not to modify a given string, it should be copied before any updating operations are used.
Operations are provided to split and join strings. The concatconcatString operation allows several strings to be joined together.
There is a version of concatconcatString that works with two strings.
Juxtaposition can also be used to concatenate strings.
Substrings are obtained by giving an index range.
A string can be split into several substrings by giving a separation character or character class.
Unwanted characters can be trimmed from the beginning or end of a string using the operations trimtrimString, leftTrimleftTrimString and rightTrimrightTrimString.
Each of these functions takes a string and a second argument to specify the characters to be discarded.
The second argument can be given either as a single character or as a character class.
Strings can be changed to upper case or lower case using the operations upperCaseupperCaseString, upperCase!upperCase!String, lowerCaselowerCaseString and lowerCase!lowerCase!String.
The versions with the exclamation mark change the original string, while the others produce a copy.
Some basic string matching is provided. The function prefix?prefix?String tests whether one string is an initial prefix of another.
A similar function, suffix?suffix?String, tests for suffixes.
The function substring?substring?String tests for a substring given a starting position.
A number of positionpositionString functions locate things in strings. If the first argument to position is a string, then position(s,t,i) finds the location of s as a substring of t starting the search at position i.
If s is not found, then 0 is returned (minIndex(s)-1 in IndexedString).
To search for a specific character or a member of a character class, a different first argument is used.