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')