String Methods - Gnorion/BizVR GitHub Wiki
| Method | Example |
|---|---|
| INFIX | |
| += |
'ABC'+='XYZ'Produces 'ABCXYZ' |
| + |
'THE' + ' ' + 'CAT' returns 'THE CAT' concatenate three strings |
| . |
'THE ' + $n + ' CATS' returns 'THE 2 CATS' if n is 2. Type conversion is automatic |
| < |
'CAR' < 'CAT' returns true compare two strings |
| <= |
'CAT' <= 'CAT' returns true compare two strings |
| <> |
'DOG' <> 'CAT' returns true compare two strings |
| '>' |
'CAT' > 'CAR' returns true compare two strings |
| '>=' |
'CAT' >= 'CAR' returns true compare two strings |
| INSTANCE METHODS | |
| .alphabet |
'THE CAT SAT ON THE MAT'.alphabet returns ' ACEHMNOST' |
| .characterAt(i) |
'THE CAT SAT ON THE MAT'.characterAt(6) returns A. Null if i not in 1..string length |
| .charsIn(validset) |
'THE CAT SAT ON THE MAT'.charsIn(' ACEHMNOST') returns true if every char in the string is in the validset |
| .concat(string) |
'THE CAT SAT'.concat(' ON THE MAT') returns 'THE CAT SAT ON THE MAT' (see also + |
| .contains(string) |
'THE CAT SAT ON THE MAT'.contains('THE') returns 2. The number of occurrences |
| . |
'THe CAT SAT ON THE MAT'.contains('THE')returns 1 |
| . |
'THE CaT SAT oN THE MaT'.toUpper.contains('Mat'.toUpper) returns 1 |
| . |
'THE CaT SAT oN THE MaT'.toUpper.contains('Man'.toUpper) returns 0 |
| .containsBlanks |
' THE CAT SAT ON THE MAT '.containsBlanks returns 7 |
| .containsSpecialChars |
' THE CAT SAT ON THE !@%% MAT '.containsSpecialChars returns 4 |
| .endsWith(string) |
' THE CAT SAT ON THE MAT'.endsWith('AT') returns true |
| .equals(string) |
'THE CAT SAT ON THE MAT'.equals('THe CAT SAT ON THE MAT')returns false |
| .equalsIgnoreCase(string) |
'THE CAT SAT ON THE MAT'.equalsIgnoreCase('THe CAT SAT ON THE MAT') returns true |
| .in [string1..string2] |
'CAR'.in 'CA'...'CATEGORY' returns true. Also [x..y),(x..y ], (x..y ) |
| .indexOf(substring) |
'THE CAT SAT ON THE MAT'.index of('THE') returns 1 |
| .isInteger |
'42'.isInteger returns true |
| .isDecimal |
'3.14'.isDecimal returns true |
| .isDateTime |
'12/1/2017 12:00:00 AM'.isDateTime returns true |
| .distance(string) |
'https://www.wellsfargo.com/'.distance('https://www.wellsforgo.com/') returns 1. Number of edits to convert. Used in fraud detection. Uses Levenstein |
| .toProtein |
'GUUCACUUAACACCCGAGAAAUGA'.toProtein returns Val-His-Leu-Thr-Pro-Glu-Lys-. the protein(s) coded by a string containing only A,C,U,G |
| . |
'GUUCACUUAACACCCGUGAAAUGA'.toProtein returns Val-His-Leu-Thr-Pro-Val-Lys-. Sickle Cell - Mutation - GAG is replaced by GUG in the sickle cell |
| .regexMatches(regex) | returns true if the string matches the regular expression |
| .regexReplace(regex,string) | anything that matches regex is replaced with string. |
| .replace(fromStr,toStr |
'THE CAT SAT ON THE MAT'.replace('THE','A') returns 'A CAT SAT ON A MAT' |
| .replace(fromStr,toStr,startAt |
'THE CAT SAT ON THE MAT'.replace('THE','A',2) returns 'THE CAT SAT ON A MAT' |
| .size |
'THE CAT SAT ON THE MAT'.size returns 22 |
| .soundex |
'Robert'.soundex = 'Rupert'.soundex' returns true. Numeric value representing the phonetic sound of the string. 'R163' in this example |
| .metaphone |
'mississipi'.metaphone='mosasupy'.metaphone returns true since both produce 'MSSP'. |
| .startsWith(string) |
'THE CAT SAT ON THE MAT'.startsWith('THE C') returns true |
| .toDateTime |
'12/1/2017 12:00:00 AM'.toDateTime returns null if the string cannot be converted; otherwise returns the datetime |
| .toDecimal |
'3.1415'.toDecimal returns 3.1415. returns null if the string cannot be converted; otherwise returns the decimal value |
| .toInteger |
'42'.toInteger returns 42. returns null if the string cannot be converted; otherwise returns the integer value |
| .toLower |
'THE CAT SAT ON THE MAT'.toLower returns 'the cat sat on the mat' |
| .toUpper |
'the cat sat on the mat'.toUpper returns 'THE CAT SAT ON THE MAT' |
| .trimSpaces |
' THE CAT SAT ON THE MAT '.trimSpaces returns 'THE CAT SAT ON THE MAT' |
| FUNCTIONS | |
| characterAt(string,i) |
characterat('THE CAT SAT ON THE MAT',6) returns A. Null if i not in 1..string length |
| concat(string,string) |
concat('THE CAT',' SAT ON THE MAT') returns 'THE CAT SAT ON THE MAT' |
Note: Any string literal in the examples may be replaced with any expression that evaluates to a string. Even a complex one involving collections.
For example person.gender[age>65]->sortedBy(age)->first.equalsIgnoreCase('male')