Difference between revisions of "String Manipulation Functions"
Line 31: | Line 31: | ||
− | ===Assigning Strings== | + | === = Assigning Strings=== |
− | |||
− | = | ||
To assign a string value to a string variable you can simply use the = character. | To assign a string value to a string variable you can simply use the = character. | ||
Line 72: | Line 70: | ||
− | ===Concatenating Strings=== | + | === + Concatenating Strings=== |
− | |||
− | |||
Concatenates the two string together in the order presented from left to right. | Concatenates the two string together in the order presented from left to right. | ||
Line 106: | Line 102: | ||
− | ===Converting a numeric value/variable to a string=== | + | === ToString$(value) Converting a numeric value/variable to a string=== |
− | |||
− | |||
Changes the numeric value to a String. | Changes the numeric value to a String. |
Revision as of 11:14, 27 October 2020
Contents
- 1 String Functions
- 1.1 = Assigning Strings
- 1.2 + Concatenating Strings
- 1.3 ToString$(value) Converting a numeric value/variable to a string
- 1.4 Converting a string to upper case
- 1.5 Converting a string to lower case
- 1.6 Finding the length of a string
- 1.7 Getting a single character from a string
- 1.8 String subset - characters from the start of the string
- 1.9 String subset - characters from the end of the string
- 1.10 String subset - characters from an arbitrary position in the string
- 1.11 String comparisons
- 1.12 Converting a floating point value/variable to a string
- 1.13 Converting a numeric value/variable to a hex string
- 1.14 Converting a string to a numeric value/variable
- 1.15 Converting a string into a floating point value/variable
String Functions
The String functions are a set of string manipulation functions that can be used to edit, change and examine the strings.
To add a function, drag it into the calculation box or double click. The user can then edit this base code with the variables required.
![]() |
→ | ![]() |
→ | ![]() |
Example Strings used in explaining the functions below:
Str1[20]
Str2[20]
TestStr[40]
= Assigning Strings
To assign a string value to a string variable you can simply use the = character.
Str1 = "Hello "
Str2 = "World"
Strings can also be treated like byte arrays to allow you to manipulate the individual bytes. For string data to work correctly with other string functions the end of the data must be signified with a 0 or null byte.
Str1[0] = 'H'
Str1[1] = 'e'
Str1[2] = 'l'
Str1[3] = 'l'
Str1[4] = 'o'
Str1[5] = ' '
Str1[6] = 0
Assigning a string constant to a string variable will automatically add the null byte to the end of the string for you.
Str1 = "Hello "
Strings can also be used with escape characters such as \n (newline), \r (carriage return), \t (tab), \xXX (hexadecimal byte value), \\ single backslash character.
Str1 = "Hello\n\rWorld"
+ Concatenating Strings
Concatenates the two string together in the order presented from left to right.
If the resulting string is longer than the array size of the receiving string then any extra characters are lost.
Str1 = "Hello "
Str2 = "World"
TestStr = Str1 + Str2
TestStr is now "Hello World"
Multiple concatenations are best done like this to avoid using excess memory. Note that each line contains only two values to be added together.
TestStr = "Multiple " + Str1
TestStr = TestStr + Str2
TestStr is now "Multiple Hello World"
NOTE: Due to a limitation in generated code the result of multiple concatenations in one operation is limited to 20 characters. So the result of Str1 + Str2 + Str3 should not exceed 20 characters.
ToString$(value) Converting a numeric value/variable to a string
Changes the numeric value to a String.
TestStr = ToStr$(1234)
TestStr is now "1234"
Converting a string to upper case
ToUpper$(string)
Changes all letters to upper case.
TestStr = ToUpper$(Str1)
TestStr is now "HELLO "
Converting a string to lower case
ToLower$(string)
Changes all letters to lower case.
TestStr = ToLower$(Str1)
TestStr is now "hello "
Finding the length of a string
Length$(string)
Retrieves the length of the string.
This is not the Array size, but the number of characters in the array before a Null character is encountered.
RetVal = Length$(Str1)
RetVal is now 6
Note: Str1 array size is 20, but has a String of only 6 characters currently assigned to it hence the return value of 6.
Getting a single character from a string
Char$(string, number)
Retrieves a single byte from the specified position in the string.
Str1= "hello"
RetVal = Char$(Str1, 0)
Retval is now 'H'.
RetVal = Char$(Str1, 4)
Retval is now 'o'.
RetVal = Char$(Str1, 5)
Retval is now 0 (NULL terminator to mark the end of valid data).
String bytes can also be accessed directly using standard C square bracket array notation.
RetVal = Str1[4]
Retval is now 'o'.
String subset - characters from the start of the string
Left$(string, size) Retrieves a substring from the string of size characters starting from the leftmost character.
If the length of the string used to store the result is less than size of the substring returned then any extra characters are lost.
TestStr = Left$(Str1, 3)
TestStr is now "Hel"
String subset - characters from the end of the string
Right$(string, size)
Retrieves a substring from the string of size characters starting from the rightmost character.
i.e. a size of 4 retrieves the 4 rightmost characters.
If the length of the string used to store the result is less than size of the substring returned then any extra characters are lost.
TestStr = Right$(Str1, 3)
TestStr is now "lo "
String subset - characters from an arbitrary position in the string
Mid$(string, start, size)
Retrieves a substring from the string starting at position start of size characters. The first character of the string is at position zero.
If the length of the string used to store the result is less than size of the substring returned then any extra characters are lost.
TestStr = Mid$(Str1, 2, 3)
TestStr is now "llo"
String comparisons
Compare$(string1, string2, compare_type)
Compares the two strings, parameters 1 and 2, and returns a BYTE value corresponding to the following results:
0 = strings are identical
1 = string1>string2
255 = string2>string1
The 3rd parameter, compare_type, determines whether or not the check is case sensitive. values for compare_type are:
0 = case sensitive
1 = case insensitive.
Examples
Str1 = "ABC"
Str2 = "abc"
RetVal = Compare$(Str1, Str2, 0)
RetVal is now 255 as Str2 is later in the ASCII sequence.
RetVal = Compare$(Str1, Str2, 1)
RetVal is now 0 as when case insensitive the two strings are identical.
Str2 = Str1
RetVal = Compare$(Str1, Str2, 0)
RetVal is now 0 as both strings are identical.
Converting a floating point value/variable to a string
FloatToString$( float )
Converts a floating point number into a string.
float = Floating point number to convert.
string = String variable to hold the conversion data.
string = FloatToString( float )
Converting a numeric value/variable to a hex string
NumberToHex$( number )
Converts a byte or int number into a hexadecimal string.
number = byte or integer number to convert.
string = String variable to hold the conversion data.
string = FloatToString( INT )
Converting a string to a numeric value/variable
StringToInt$(string)
Converts a string of numeric ASCII data into an integer numeric data value.
string = String variable containing numeric ASCII data.
returns numeric data from the string in decimal form.
number = StringToInt$( string )
Converting a string into a floating point value/variable
StringToFloat$( string )
Converts a string of numeric ASCII data into a floating point variable.
string = String variable containing numeric ASCII data.
returns numeric data from the string in floating point form.
float = StringToFloat$( string )