This version is out of date, covering development from v8.0.0 to v8.x.x. It is maintained here only for inbound reference links from elsewhere. It is no longer actively updated.

Jump to the current version of aTbRef

Tinderbox v8 Icon

String Attributes - comparison operators & case sensitivity

Comparison Operators

The comparison operators available are <, <=, ==, !=, >=, and >. The == and != operators always work as a case-sensitive comparison. Examples:

$Name > $AttribName 

$AttribName > $AttribName(path) 

$Created > $Created(parent) 

$Name < $Text  

$BorderColor == $Color 

For case-sensitive matches, use String.contains("pattern"), e.g. $MyString.contains("dog"), where the pattern is a string literal or regular expression. Using String.icontains("pattern") forces a case-insensitive match. The same applies to Lists and Sets, see also Querying Lists and Sets.

Pattern matches (via both old and new style contains) are case-sensitive by default, but when used in the context of an agent this can be modified. This is done by setting the agent's $AgentCaseSensistive attribute to False.

Thus, a case-insensitive 'dog' pattern could match all case variants of 'dog' (dog, Dog, DOG, etc.). However, as this would also match a value of 'big dog', the degree of match of the pattern can be restricted further by regular expression string delimiters, e.g. $MyString.contains("^^dog$"). The caret (^) forces matching to start at the beginning of the string; note that it has to be doubled so as to escape it for Tinderbox, i.e. tell the program the symbol is not, in this context, export mark-up code. Similarly, the $ forces the match to run all the way to the end of a value string. This therefore excludes longer strings that might contain the word in question. The use of the $ in a regular expression should not be confused with the $AttributeName usage, which simply references an attribute's value.



A Tinderbox Reference File : Agent & Queries : String Attributes - comparison operators & case sensitivity