String Handling Routines: Difference between revisions
imported>StDoodle |
|||
(22 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{TOCright}} | |||
==Simple== | ==Simple== | ||
{{Flink|string| | {{Flink|string|to_lower_case|string|desc=Converts all upper-case alphabetic characters to lower-case.}} | ||
{{Flink|string| | {{Flink|string|to_upper_case|string|desc=Converts all lower-case alphabetic characters to upper-case.}} | ||
{{Flink|string|to_url|location|desc=Returns the url which is accessed to visit the specified location.}} | {{Flink|string|to_url|location|desc=Returns the url which is accessed to visit the specified location.}} | ||
{{Flink|int|extract_meat|string|desc=Returns the number of meat embedded in a string.}} | {{Flink|int|extract_meat|string|desc=Returns the number of meat embedded in a string.}} | ||
{{Flink|int [item]|extract_items|desc=Parses a string for items and their amounts (handles plural & singular forms) and returns the results as a map.}} | {{Flink|int [item]|extract_items|desc=Parses a string for items and their amounts (handles plural & singular forms) and returns the results as a map.}} | ||
{{Flink|int|length|string|desc=Returns the number of characters in the specified string.}} | {{Flink|int|length|string|desc=Returns the number of characters in the specified string.}} | ||
{{Flink| | {{Flink|string|char_at|string|index|desc=Returns the character at a specified index in a string.}} | ||
{{Flink|string|substring|string|int|{{opt|int}}|desc=Returns the substring of the specified string, starting from a specified position, and optionally ending before a specified position (defaults to remainder of string).}} | {{Flink|string|substring|string|int|{{opt|int}}|desc=Returns the substring of the specified string, starting from a specified position, and optionally ending before a specified position (defaults to remainder of string).}} | ||
{{Flink|buffer|replace_string|buffer|string|string}} | {{Flink|buffer|replace_string|buffer|string|string}} | ||
{{Flink|buffer|replace_string|string|string|string|desc=Replaces all text in the first string that matches the second with the third.}} | {{Flink|buffer|replace_string|string|string|string|desc=Replaces all text in the first string that matches the second with the third.}} | ||
{{Flink|buffer|replace|buffer|int|int|string|desc=Replaces all text from the first index to the second index with the supplied string.}} | |||
{{Flink|string|url_encode|string|desc=Converts a string into a URL formatted string.}} | {{Flink|string|url_encode|string|desc=Converts a string into a URL formatted string.}} | ||
{{Flink|string|url_decode|string|desc=Converts a URL formatted string into regular text.}} | {{Flink|string|url_decode|string|desc=Converts a URL formatted string into regular text.}} | ||
{{Flink|string [int]|split_string|string|{{opt|string}}|desc=Splits apart the first string at line-breaks or using an optionally supplied delimeter and returns an integer-keyed map of the result.}} | {{Flink|string [int]|split_string|string|{{opt|string}}|desc=Splits apart the first string at line-breaks or using an optionally supplied delimeter and returns an integer-keyed map of the result.}} | ||
{{Flink|string [int]|session_logs|{{opt|string}}|int|desc=Gives access to sessions logs. And stuff. [http://kolmafia.us/showthread.php?t=573]}} | {{Flink|string [int]|session_logs|{{opt|string}}|int|desc=Gives access to sessions logs. And stuff. [http://kolmafia.us/showthread.php?t=573]}} | ||
{{Flink|buffer|append|buffer|string|desc=Appends the string to the end of the buffer.}} | {{Flink|buffer|append|buffer|string|desc=Appends the string to the end of the buffer.}} | ||
{{Flink|void|set_length|buffer|int|desc=Changes the length of a buffer.}} | |||
{{Flink|buffer|delete|buffer|int|int|desc=Deletes the specified portion of the buffer.}} | |||
{{Flink|buffer|insert|buffer|int|string|desc=Inserts the string at the specified point in the buffer.}} | |||
==Substring Search== | |||
{{FunctionEmbed|contains_text|format=signature|desc=yes}} | |||
{{FunctionEmbed|ends_with|format=signature|desc=yes}} | |||
{{FunctionEmbed|index_of|format=signature|desc=yes}} | |||
{{FunctionEmbed|last_index_of|format=signature|desc=yes}} | |||
{{FunctionEmbed|starts_with|format=signature|desc=yes}} | |||
==Regular Expressions== | ==Regular Expressions== | ||
It is advised that anyone desiring to use these functions should first understand the basics of [[Regular Expressions]] and how these functions implement that language. | |||
{{Flink|matcher|create_matcher|string|string|desc=Creates a matcher from a pattern and input string.}} | {{Flink|matcher|create_matcher|string|string|desc=Creates a matcher from a pattern and input string.}} | ||
{{Flink|matcher|reset|matcher|{{opt|string}}|desc=Resets matcher to search from beginning of string, possibly with new input.}} | {{Flink|matcher|reset|matcher|{{opt|string}}|desc=Resets matcher to search from beginning of string, possibly with new input.}} | ||
{{Flink|int|group_count|matcher|desc=Returns the number of capturing groups in the pattern.}} | {{Flink|int|group_count|matcher|desc=Returns the number of capturing groups in the pattern.}} | ||
{{Flink| | {{Flink|string [int,int]|group_string|string|string|desc=Maps a string to an aggregate (see page for details). [http://kolmafia.us/showthread.php?t=318]}} | ||
{{Flink| | {{Flink|int|start|matcher|{{opt|int}}|desc=Returns the starting index of the previous or specified capturing group.}} | ||
{{Flink|int|end|matcher|{{opt|int}}|desc=Returns the ending index of the previous or specified capturing group plus 1.}} | |||
{{Flink|boolean|find|matcher|desc=Finds the next instance of the pattern or returns false if no more matches exist.}} | {{Flink|boolean|find|matcher|desc=Finds the next instance of the pattern or returns false if no more matches exist.}} | ||
{{Flink|string|group|matcher|{{opt|int}}|desc=Returns the contents of an indicated capturing group (starting at 1) or the entire pattern if not indicated.}} | {{Flink|string|group|matcher|{{opt|int}}|desc=Returns the contents of an indicated capturing group (starting at 1) or the entire pattern if not indicated.}} | ||
Line 30: | Line 42: | ||
{{Flink|buffer|append_replacement|matcher|buffer|string}} | {{Flink|buffer|append_replacement|matcher|buffer|string}} | ||
{{Flink|buffer|append_tail|matcher|buffer|desc=Appends the text returned by a matcher to the end of the buffer.}} | {{Flink|buffer|append_tail|matcher|buffer|desc=Appends the text returned by a matcher to the end of the buffer.}} | ||
[[Category:Scripting]] |
Latest revision as of 12:43, 23 December 2020
Simple
string to_lower_case( string )
string to_upper_case( string )
string to_url( location )
int [item] extract_items()
int length( string )
string char_at( string, index )
string substring( string, int, [int] )
buffer replace_string( buffer, string, string )
buffer replace_string( string, string, string )
buffer replace( buffer, int, int, string )
string url_encode( string )
string url_decode( string )
string [int] split_string( string, [string] )
string [int] session_logs( [string], int )
buffer append( buffer, string )
void set_length( buffer, int )
buffer delete( buffer, int, int )
buffer insert( buffer, int, string )
Substring Search
boolean contains_text( string, string )
- Returns true if the first string contains the second string.
boolean ends_with( string, string )
- Checks whether a string ends with a suffix string. (case-sensitive)
int index_of( string, string, int? )
- Returns the position of the second string in the first (or -1 if not found), optionally starting its search from a given position.
int last_index_of( string, string, int? )
- Returns the last index of the second string in the first, or -1 if no match is found.
boolean starts_with( string, string )
- Checks whether a string starts with a prefix string. (case-sensitive)
Regular Expressions
It is advised that anyone desiring to use these functions should first understand the basics of Regular Expressions and how these functions implement that language.
matcher create_matcher( string, string )
matcher reset( matcher, [string] )
string [int,int] group_string( string, string )
boolean find( matcher )
string group( matcher, [int] )
string replace_all( matcher, string )
string replace_first( matcher, string )
buffer append_replacement( matcher, buffer, string )
buffer append_tail( matcher, buffer )