manual:chapter3:strings

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
manual:chapter3:strings [2017/06/11 17:56]
smartin
manual:chapter3:strings [2017/09/09 20:07] (current)
claudio [Commands for strings]
Line 6: Line 6:
  
 ---- ----
 +==== 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 ====
 +The following table summarizes commands which can be applied to strings.
 +
 +| Command | Purpose | Example |
 +| ''→STR'' | Convert object to string | ''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'' | Normalize a string to Unicode NFC | ''"Hello World" →NFC'' yields ''"Hello World"''|
 +| ''UTF8→'' | Convert string to list of Unicode Code Points | ''"abcd" UTF8→'' yields ''{ #61h #62h #63h #64h }'' |
 +| ''→UTF8'' | Convert list of Unicode Code Points to a UTF8 string | ''{ #61h #62h #63h #64h } →UTF8'' yields ''"abcd"''|
 +| ''SIZE'' | Return the number of bytes used by a UTF8 string | ''"Hello World" SIZE'' yields ''11''|
 +| ''STRLEN'' | Returns the length of the string, in characters | ''"Hello World" STRLEN'' yields ''11'' |
 +| ''STRLENCP'' | Returns the number of Unicode Code Points in a string | ''"Hello World" STRLEN'' yields ''11'' |
 +| ''POS'' | Returns the position of a substring within a string (0 if not found) | ''"Hello World" "Wor" POS'' yields ''7''|
 +| ''POSREV'' | Returns the position of the substring counting from end of sting (0 if not found) | ''"Hello World" "Wor" POSREV'' yields ''3'' |
 +| ''NPOS'' | Same as ''POS'', but starting the search from position N | |
 +| ''NPOSREV'' | Same as ''POSREV'' starting at position N | |
 +| ''SREV'' | Reverse the string | ''"Hello World" SREV'' yields ''"dlroW olleH"'' |
 +| ''REPL'' | Replace part of a string with another at the specified position | ''"Hello World" 7 "Universe" REPL'' yields ''"Hello Universe"''|
 +| ''SREPL'' | Search and replace a string (return 1 if successful, 0 if not) | ''"Hello World" "World" "Universe" SREPL'' yields ''"Hello Universe" 1'' |
 +| ''SUB'' | | |
 +| ''HEAD'' | | |
 +| ''TAIL'' | | |
 +| ''TRIM'' | | |
 +| ''RTRIM'' | | |
 +| ''NTOKENS'' | | |
 +| ''NTHTOKEN'' | | |
 +| ''NTHTOKENPOS'' | | |
 +
 +----
  • manual/chapter3/strings.1497228982.txt.gz
  • Last modified: 2017/06/11 17:56
  • by smartin