Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
manual:chapter3:strings [2017/09/02 11:53] smartin [Commands for strings] |
manual:chapter3:strings [2017/09/09 20:07] (current) claudio [Commands for strings] |
| |
---- | ---- |
| ==== Length of strings ==== |
| |
| A Unicode Code Point is an indivisible unit of text. A character is usually a single Code Point, but not necessarily. A character may be formed by a group of Unicode Code Points that includes a starter character and optionally a series of overlapping characters or modifiers. |
| |
| There are separate commands to measure the length of a string. The most useful is ''STRLEN'', which returns the number of characters in a string. The command ''STRLENCP'' returns the number of Code Points in the string. |
| |
| Finally, the command ''SIZE'' returns the size in bytes of the string. |
| |
| |
| |
| |
==== Commands for strings ==== | ==== Commands for strings ==== |
The following table summarizes commands which can be applied to strings. | The following table summarizes commands which can be applied to strings. |
| |
| Command | Purpose | Example | | | Command | Purpose | Example | |
| ''→STR'' | Convert to string | ''45,569 →STR'' yields ''"45,569"'' | | | ''→STR'' | Convert object to string | ''45,569 →STR'' yields ''"45,569"'' | |
| ''STR→'' | Convert from string to implied object| ''"45,569." STR→'' yields ''45.569.'' | | | ''STR→'' | Compile a string to RPL objects((In this case, ''OBJ→'' can also be used.))| ''"45,569." STR→'' yields ''45.569.'' | |
| ''→NFC'' | | | | | ''→NFC'' | Normalize a string to Unicode NFC | ''"Hello World" →NFC'' yields ''"Hello World"''| |
| ''→UTF8'' | Convert to Unicode UTF8 object | | | | ''UTF8→'' | Convert string to list of Unicode Code Points | ''"abcd" UTF8→'' yields ''{ #61h #62h #63h #64h }'' | |
| ''UTF8→'' | Convert from Unicode UTF8 object | | | | ''→UTF8'' | Convert list of Unicode Code Points to a UTF8 string | ''{ #61h #62h #63h #64h } →UTF8'' yields ''"abcd"''| |
| ''SIZE'' | | | | | ''SIZE'' | Return the number of bytes used by a UTF8 string | ''"Hello World" SIZE'' yields ''11''| |
| ''STRLEN'' | | | | | ''STRLEN'' | Returns the length of the string, in characters | ''"Hello World" STRLEN'' yields ''11'' | |
| ''STRLENCP'' | | | | | ''STRLENCP'' | Returns the number of Unicode Code Points in a string | ''"Hello World" STRLEN'' yields ''11'' | |
| ''POS'' | | | | | ''POS'' | Returns the position of a substring within a string (0 if not found) | ''"Hello World" "Wor" POS'' yields ''7''| |
| ''POSREV'' | | | | | ''POSREV'' | Returns the position of the substring counting from end of sting (0 if not found) | ''"Hello World" "Wor" POSREV'' yields ''3'' | |
| ''NPOS'' | | | | | ''NPOS'' | Same as ''POS'', but starting the search from position N | | |
| ''NPOSREV'' | | | | | ''NPOSREV'' | Same as ''POSREV'' starting at position N | | |
| ''SREV'' | | | | | ''SREV'' | Reverse the string | ''"Hello World" SREV'' yields ''"dlroW olleH"'' | |
| ''REPL'' | | | | | ''REPL'' | Replace part of a string with another at the specified position | ''"Hello World" 7 "Universe" REPL'' yields ''"Hello Universe"''| |
| ''SREPL'' | | | | | ''SREPL'' | Search and replace a string (return 1 if successful, 0 if not) | ''"Hello World" "World" "Universe" SREPL'' yields ''"Hello Universe" 1'' | |
| ''SUB'' | | | | | ''SUB'' | | | |
| ''HEAD'' | | | | | ''HEAD'' | | | |