Function List

Basic

Echo String

Simply repeat the input string to the output. This is the default function for new stages.

Clear String

Ignore the input string and output an empty string or replace it with the string entered as an argument.

Arguments
New
A string to be sent to the output.

Top and Tail

Add strings to the beginning and end of the input string.

Arguments
Top
The characters to be prepended to the string.
Tail
The characters to be appended to the string.
Example

red

Top and Tail: Top = 'You've Got ', Tail = ' on you'

You've got red on you

Trim

Remove characters from the beginning and end of the string.

Arguments
Start
The number of characters to be removed from the left.
End
The number of characters to be removed from the right.
Example

640K should be enough for everyone

Trim: Start = 1, End = 13

40K should be enough

Chop

Add characters at regular intervals in the string. Arguments: Size, the length of the interval after which the characters will be inserted; Offset, distance from the beginning of the string that the interval should measured; Chars, the character or sequence of characters to be inserted.

Arguments
Size
The number of characters in each section.
Offset
The distance in characters from the beginning of the string that the intervals should be measured from.
Chars
The number of characters to be removed from the right.
Example

The effects of prolonged exposure to the button are not part of this test

Chop: Size = 2, Offset = 0, Chars = :

Th:e :ef:fe:ct:s :of: p:ro:lo:ng:ed: e:xp:os:ur:e :to: t:he: b:ut:to:n :ar:e :no:t :pa:rt: o:f :th:is: t:es:t

Reverse

Reverse the order of the characters in the string. If the string contains UTF-16 surrogate pair encoded characters the order of each pair will be reversed and the relationship lost. Reversing the string again will restore these characters.

Example

kayak

Reverse: [no arguments]

kayak

Normalise Spaces

Exchange all Unicode space characters with the traditional ASCII space character (U+0020). The current list of Unicode space characters that are affected by this function is: U+00A0, U+1680, U+180E, U+2002, U+2003, U+2004, U+2005, U+2006, U+2007, U+2008, U+2009, U+200A, U+200B, U+200C, U+200D, U+202F, U+205F, U+2060, U+2594, U+2800, U+3000, U+FEFF. This list may be expanded in future.

Strip Spaces

Remove all Unicode space characters listed in Normalise Spaces.

Example

Sector ZZ9 Plural Z Alpha

Strip Spaces: [no arguments]

SectorZZ9PluralZAlpha

Left Pad String

Increase the length of the string by adding characters to the beginning. Strings with length greater than or equal to the required length will be unchanged. Arguments: Pad Length, how long the string should be; Pad Char, characters to add to the left (if using multiple characters the complete set will be added repeatedly until the string is greater than or equal to the required length.

Arguments
Pad Length
The final minimum length of the string after the operation, or the devisor to the string length if mod is checked.
Mod
If checked this indicates that the Pad Length should be treated as a devisor and that the string should be extended until the String Length mod Pad Length is equal to zero.
Characters
The character that should be used to pad the string. If more than one character is used these will be added in sequence starting from the right end of the set.
Example

101000000

Left Pad String: Pad Length = 8, Mod = true, Chars = '0'

0000000101000000

Example

Bar

Left Pad String: Pad Length = 8, Mod = false, Chars = 'Foo'

ooFooBar

Right Pad String

As Left Pad String, but characters are added to the end of the string.

Arguments
Pad Length
as Left Pad String.
Mod
As Left Pad String.
Characters
As Left Pad String but if more than one character is used these will be added in sequence starting from the left end of the set.
Example

101000000

Right Pad String: Pad Length = 8, Mod = true, Chars = '0'

1010000000000000

Example

Foo

Right Pad String: Pad Length = 8, Mod = false, Chars = 'Bar'

FooBarBa

Limit to Left

Shorten the string to a given length by removing characters from the right.

Arguments
Length
The final length of the string.
Mod
If checked the length will be treated as a devisor and the string will be shortened by String Length mod Length charcters.
Example

Hello World

Limit to Left: Length = 8, Mod = false

Hello Wo

Limit to Right

Shorten the string to a given length by removing characters from the left.

Arguments
Length
The final length of the string.
Mod
If checked the length will be treated as a devisor and the string will be shortened by String Length mod Length charcters.
Example

Hello World

Limit to Right: Length = 8, Mod = false

lo World

Rotate String

Cut characters from one end of the string and concatate them to the other.

Arguments
Distance
The number of characters to move. This value wraps on the length of the string. Positive values rotate the string right, negative values rotate left.
Example

Hello World

Rotate String: Distance = 3

rldHello Wo

Count Characters

Outputs the number of characters in the string. UTF-16 surrogate pair encoded characters are counted as two characters.

Example

Hello World

Count Characters:[no arguments]

11

Comment

Insert a comment into the stack. The comment will be displayed in the stage output but will not alter the input string at all. Use this to describe your stack and how to use it. Multiple comments can be used in the stack.

Arguments
Comment
The text of your comment. All xml characters (<>"'&) will be converted to entities for display.

Title

This will update the page title to the defined string. The title will be appeneded to the "String Thinger" name. It should be noted that the currently loaded page does not carry the encoded version of the stack in it's loaded URL so simply bookmarking this will not save the stack though the bookmark will carry the title. To save the encoded stack with the title will require clicking one of the link's below the stack. This is really intended to assist in sharing stacks.

Arguments
Title
The Title of the stack. No substitutions are used.

Replace

Replace All

Remove or replace all instances of a string with in the input string. This does not involve any regular expression syntax and matches will always be exact.

Arguments
Find
The string to be located in the input.
Replace
The string that will replace any substrings that match Find in the output.
Example

Hello World

Replace All: Find = 'World', Replace = 'Foo Bar'

Hello Foo Bar

ReExp Replace

Remove or replace anything that matches the given regular expression. The Regular Expression should contain the beginning and ending slashes and the modifiers , eg '/\w+/g'. You can also use sub string capture with parentheses and use the capture in the replacement, as in a substitution expression, for instance: Find = '/(\w)(\w)/g' Replace = '$2$1' will swap each pair of adjacent word characters.

It should be noted that there are some issues for JavaScript regular expressions, some of them browser specific. At present JS RegExp should not be expected to support Unicode matching syntax such as '\p{L}'. In most browsers the period '.' will never match a newline '\n' as there is no 's' modifier (the 's' modifier is permitted by StringThinger but my generate an error in browsers that do not support it). In Firefox the class '[^]' (literally "not nothing") will match everything including '\n', but in IE it will throw an "Expected ']' in regular expression" error.

Arguments
Find
A formatted Regular Expression such as '/([0-9A-F]+)/g'.
Replace
The string that will replace the matches in the input string. The escape sequences '$1' to '$9' will be interpolated with the perenthised substring matches from the regular expression.
Example

Hello World

Replace All: Find = '/(\w)(\w)/g', Replace = '$2$1'

eHllo oWlrd

Trade

This trades characters from one list found in the input string with those from the corresponding position in another, so any occurance of the sixth character in the first list will be traded for the sixth character in the second list in the output. If one list is longer than the other then the additional characters at the end of the longer list are ignored. The string is parsed character-by-character so 'ou' can be traded for 'uo' without unwanted recursion.

Arguments
Trade
A list of characters to find in the input string.
For
A list of characters to trade for those in the previous list.
Example

Hello World

Trade: Find = 'aeiou', Replace = 'eioua'

Hillu Wurld

Text

Some of these functions deal with character case, and it should be noted that support for case recognition and translation in languages other than those using ASCII is patchy if it is present at all.

UPPER CASE

Convert all lower case characters to upper case. This uses JavaScript's own String.toUppercase method.

Example

Hello World

UPPER CASE: [no arguments]

HELLO WORLD

lower case

Convert upper case characters to lower case.

Example

Hello World

lower case: [no arguments]

hello world

Sentence case

Converts the first character and all occarances of /\bi\b/ in each sentence to upper case. This does not affect any other character cases.

Example

forget i said anything.

Sentence case: [no arguments]

Forget I said anything.

Title Case

Convert the first character in each word to upper case. This does not affect the case of any other characters. This uses simple "Start Case" in which the first letters in all words will be converted to upper case, including articles, prepositions, and conjunctions.

Example

We, in some strange power's employ, move on a rigorous line

Title Case: [no arguments]

We, In Some Strange Power's Employ, Move On A Rigorous Line

iNVERT cASE

This reverses the case of each character in turn, upper to lower, lower to upper.

Example

Time Considered as a Helix of Semi-Precious Stones

iNVERT cASE: [no arguments]

tIME cONSIDERED AS A hELIX OF sEMI-pRECIOUS sTONES

Disenvowel

Replace or remove all English vowels from the string. This is essencially RegExp Replace with the Find argument preset to '/[aeiou]/g'.

Arguments
Replace
The character or characters with which to replace each vowel in the input string.
Example

Time Considered as a Helix of Semi-Precious Stones

Disenvowel: Replace = '_'

T_m_ C_ns_d_r_d _s _ H_l_x _f S_m_-Pr_c___s St_n_s

Gut Words

Replace or remove all but the first and last letters in each word. Similar to Disenvowel, this function is essentially RegExp Replace with the Find argument preset to '/\B\w\B/g'.

Arguments
Replace
The character or characters with which to replace each removed letter from the input string. If multiple characters are defined then each characeter will be replaced by the complete set.
Example

Let's play that word-guessing game... Monopoly!

Gut Words: Replace = '_'

L_t's p__y t__t w__d-g______g g__e... M______y!

Count Words

Return the number of units in the string separated by spaces.

Example

There are four lights!

Count Words: [no arguments]

4

HTML / XML

Strip HTML

Remove all HTML tags from the string, optionally replacing them with other characters. Arguments: Replace: the characters with which to replace each tag.

Arguments
Replace
The string with which to replace removed tags.
Example

There are <striog>four</strong> lights!

Strip HTML: Replace = ' '

There are four lights!

Extract URLs

Return a list of identifiable URLs from the string, including those in HTML tag attributes. Arguments: Separator -

Arguments
Separator
The characters using to separate the values in the returned list.
Example

<a href="http://stringthinger.com/">link 1</a> <a href="http://ruinsofmorning.net/">link 2</a>.

Extract URLs: Separator = ', '

http://stringthinger.com/, http://ruinsofmorning.net/

Quote HTML

Format a string containing HTML code returning entities in place of XML charcters (<>"'&). Arguments: Spaces per tab - the number of white space characters to replace each tab character with for pre-formatted display.

Arguments
Replace
If checked this will replace tabs and newlines with the characters specified in the respective arguments.
Tab
The characters with which to replace each tab character.
Newline
The characters with which to replace each newline.
Example

This is <strong>Quoted HTML</strong>.

Quote HTML: Replace = false, Tab = '', Newline = ''

This is &lt;strong&gt;Quoted HTML&lt;/strong&gt;.

Balance HTML / XML

Process the string looking for unmatched tags using stack order. Unmatched opening tags will have a corresponding closing tag inserted before the closing tag of the parent element. Unmatched closing tags are deleted. Self-closing / empty tags are ignored. This does not check the validity of HTML tags name nor their permitted context. This also runs the Tidy XML Chars (IE) function prior to processing.

This function is integrated into the StringThinger root object and is used to handle formatted output.

Example

<p>This is an <em><strong>invalid</em> markup</strong> example.

Balance HTML / XML: [no arguments]

<p>This is an <em><strong>invalid</strong></em> markup example.</p>

Render HTML

Insert the string into the page as rendered HTML. This is useful for formatting purposes, such as generating a layout with newlines (<br />). The input string is returned unchanged. StringThinger will automatically run the Balance HTML / XML function prior to display to prevent breaking the String Thinger page layout. For user security This process includes tests for images and inline or embedded scripts or css. The output will be blocked should any of these be detected.

To turn off this protection, disable the security measures at the bottom of the StringThinger page. Disabling these measures is not recommended if you did not generate the stack input yourself.

Example

This example of <a href="http://en.wikipedia.org/wiki/Html">HTML</a> will be inserted into the <em>StringThinger</em> page.

Balance HTML / XML: [no arguments]

This example of HTML will be inserted into the StringThinger page.

Entities

XML Entities

Relplace all occurances of the characters <, >, ", ' and & with the standard named XML entities &lt;, &gt;, &quot;, &apos; and &amp; respectively.

Example

The symbols < & > are used in HTML tags like this one: <img src="http://www.ruinsofmorning.net/images/blog/Ollie-Bites-Small.jpg" />

XML Entities: [no arguments]

The symbols &lt; &amp; &gt; are used in HTML tags like this one: &lt;img src=&quot;http://www.ruinsofmorning.net/images/blog/Ollie-Bites-Small.jpg&quot; /&gt;

XML Entities (IE)

Performs the same substitution as XML Entities, but then replaces each occurance of &apos; with &#39; for compatibility with Internet Explorer.

It should be noted that when the &apos; entity is inserted dynamically in IE using the Render HTML function the apostrophy appears to be rendered as intended. However, this behaviour is undocumented and it is recomended that it not be relied upon.

Example

The correct named entity for the apostrophe, is '&apos;'.

XML Entities (IE): [no arguments]

The correct named entity for the apostrophe, is &#39;&amp;apos;&#39;.

Tidy XML Chars

Attempt to isolate instances of the XML characters <, >, &, ' and " that are not part of valid XML markup and translate them to named entities.

Example

Here are some random XML characters <code><<&"<>'>>>&&"'"'</code>.

Tidy XML Chars: [no arguments]

Here are some random XML characters <code>&lt;&lt;&amp;&quot;&lt;&gt;&apos;&gt;&gt;&gt; &amp;&amp;&quot;&apos;&quot;&apos;</code>.

Tidy XML Chars (IE)

As Tidy XML Chars but uses &#39; in place of &apos;.

Example

Here are some random XML characters <code><<&"<>'>>>&&"'"'</code>.

Tidy XML Chars: [no arguments]

Here are some random XML characters <code>&lt;&lt;&amp;&quot;&lt;&gt;&#39;&gt;&gt;&gt;& amp;&amp;&quot;&#39;&quot;&#39;</code>.

All Numeric Entities

Converts all characters into decimal numeric entities.

Example

Numbers exist only in our minds.

All Numeric Entities: [no arguments]

&#78;&#117;&#109;&#98;&#101;&#114;&#115;&#32; &#101;&#120;&#105;&#115;&#116;&#32;&#111;&#110;&#108; &#121;&#32;&#105;&#110;&#32;&#111;&#117;&#114;&#32; &#109;&#105;&#110;&#100;&#115;&#46;

All Hex Entities

As with All Numeric Entities but the entities are defined using hexadecimal notation rather than decimal.

Example

Hello World

All Hex Entities: [no arguments]

&#x48;&#x65;&#x6C;&#x6C;&#x6F;&#x20;&#x57;&#x6F; &#x72;&#x6C;&#x64;

Any Named Entities

Convert to named entities any characters for which there is a named entity is defined.

Example

Σαράντα δύο

Any Named Entities: [no arguments]

&Sigma;&alpha;&rho;ά&nu;&tau;&alpha; &delta;ύ&omicron;

Decode All Entities

Translate all numeric, hexadecimal and named HTML entities to the Unicode characters they represent.

Example

&lt;a href=&quot;http://el.wikipedia.org/wiki/42&quot;&gt;&Sigma;&alpha;&rho;ά&nu;&tau;&alpha; &delta;ύ&omicron;&lt;/a&gt;

Decode All Entities: [no arguments]

<a href="http://el.wikipedia.org/wiki/42">Σαράντα δύο</a>

Numbers

Change Base

Change the base of numbers in the string.

Arguments
From Base/dt>
The original base of the numbers in the string.
To Base
The base to which these numbers should be changed.
Threshold
The minimum length in characters of the numbers which should be changed.
Example

9003

Change Base: From Base = 10, To Base = 16, Threshold = 0

232b

Decimal

these functions deal with the conversion of characters to and from their underlying character codes. In JavaScript these codes are expressed as 16bit Unicode code point values encoded using UTF-16. This means that characters outside of the BMP (Basic Multilingual Plain) will be expressed as a surrogate pairs (two 16bit values used to encode a single code point). For converting the characters to their actual Unicode code points in any plain see String to Codepoints in the Unicode section.

Decimal from String

Convert each character into its decimal character code values. This function uses JavaScript's Number.toString() method to perform the conversion.

Arguments
Pad
The minimum required length for each value. Shorter values will be left padded with zeros. Longer values will be unchanged. A pad length of zero will result in zero values being removed in the result.
Mod
If checked the decimal values will be padded until they are a multiple of the pad length.
Separator
The character or characters with which to separate the values. This will usually be a comma (',') or a comma followed by a standard space (', ').
Example

consensual hallucination

Decimal from String: Pad = 1, Separator = ', '

99, 111, 110, 115, 101, 110, 115, 117, 97, 108, 32, 104, 97, 108, 108, 117, 99, 105, 110, 97, 116, 105, 111, 110

String from Dec (auto)

Convert all decimal numbers to the characters represented by their values. This function uses any non-numeric character, or sub-string of such characters, as a value separator so 56seven89 will be treated as 56 and 89, which will be converted the characters 8Y. All other characters are discarded. As with Decimal from String this function uses UTF-16 thus all values are truncated to the least significant 16 bits prior to conversion. This function uses JavaScript's parseInt() function to parse the decimal values.

Example

72, 101, 108, 108 and 111 are character code from a simple string, as are 32, 87, 111, 114, 108 and 100.

String from Dec (auto): [no arguments]

Hello World

String from Dec (length)

As with String from Dec (auto) this converts decimal numbers in the string to the characters represented by their values. However, in this case all of the non-numeric characters are removed and the string of digits is split into fixed length sub strings. These sub strings are treated as decimal integers. This function simply performs the conversion and then feeds the result to String from Dec (auto) to generate the output so the features of that function also apply to this one.

Arguments
Length
The number of digits to be use for each character code.
Example

941432434315

String from Dec (length): Length = 3

έưƲĻ

Decimal to Hex

Converts decimal values in the string to hexadecimal, treats each unbroken sequence of digits as a single number. This does not alter any other characters in the string. This function uses JavaScript's parseInt() function and Number.toString() method to perform the conversion.

Arguments
Pad
Hexadecimal values shorter than this length will be zero padded. Using a pad length of zero will cause zero values to be removed so '0 and 1' will become ' and 1'
Mod
If checked the hexidecimal values will be padded until they are a multiple of the pad length.
Example

14613198 10 12496365 16435934

Decimal to Hex: Pad = 0, Mod = false, Sign = false

deface a beaded facade

Decimal to Bin

Converts decimal values in the string to binary, treats each unbroken sequence of digits as a single number. This does not alter any other characters in the string. This function uses JavaScript's Number.toString() method to perform the conversion.

Arguments
Pad
Binary numbers be zero padded until they are at least this length. A pad length of zero will result in zero values being removed in the result.
Mod
If checked the binary number will be zero padded until it is a multiple of the pad length.
Sign
If checked the sign of the decimal values will be used so that negative decimal values (those with a leading negative symbol '-') will generate a 32 bit two's compliment binary value.
Example

The answer is 42

Decimal to Bin: Pad = 8, Mod = false, Sign = false

The answer is 00101010

Hexadecimal

Hex from String

Convert the string to a list of hexadecimal character values. This function uses JavaScript's Number.toString() method for the conversion of the character codes from decimal.

Arguments
Pad
The minimum length of the hexadecimal values returned. Shorter values will be zero padded. A pad length of zero will result in zero values being removed in the result.
Mod
If checked the hexadecimal values will be zero padded until they are a multiple of the pad length.
Separator
The characters with which to separate the returned values.
Example

9906947XB71

Hex from String: Pad = 2, Mod = false, Separator = ' '

39 39 30 36 39 34 37 58 42 37 31

String from Hex (auto)

Convert hexadecimal values to the characters these values represent. The string is split on any sequence of non-hexadecimal characters. This means that the string heaven will be split into the hexadecimal values EA and 0E. This function uses JavaScript's parseInt() function to perform the conversion.

Example

50 61 70 65 72 20 53 74 72 65 65 74 20 53 6F 61 70 20 43 6F 2E

String from Hex (auto): [no arguments]

Paper Street Soap Co.

String from Hex (length)

Remove all non-hexadecimal characters and split the remainder into a given number of characters for each value. This function uses String From Hex (auto) so the features of that function also apply.

Arguments
Length
The number of characters in each hexadecimal value.
Example

4974277320746F6F20706572696C6F757321

String from Hex (length): Length = 2

It's too perilous!

Hex to Decimal

Converts all hexadecimal values in a string to decimal. This will result in any ordinary words having the characters a, b, c, d, e and f replaced with digits. So red green blue will become r237 gr238n 11lu14. This function uses JavaScript's parseInt() function to perform the conversion.

Arguments
Pad
Decimal values shorter than this length will be zero padded. A pad length of zero will result in zero values being removed in the result.
Mod
If checked the decimal values will be padded until they are a multiple of the pad length.
Example

75BCD15

Hex to Decimal: Pad = 10, Mod = false

0123456789

Hex to Binary

Convert hexadecimal values to binary. This treats any sequence of characters of the class [0-9A-Fa-f] as a single hex number regardless of context. Thus the string "Damn the expense!" will become "11011010mn th1110 1110xp1110ns1110!". This function uses JavaScript's parseInt() function and Number.toString() method to perform the conversion.

Arguments
Pad
Binary values shorter than this length will be zero padded. A pad length of zero will result in zero values being removed in the result.
Mod
If checked the binay values will be padded until they are a multiple of the pad length.
Example

29A

Hex to Binary: Pad = 0, Mod = false

1010011010

Binary

Binary from String

Convert the characters in the string to a list of binary values. This function uses JavaScript's Number.toString() method to perform the conversion of character codes from decimal.

Arguments
Pad
Binary values shorter than this length will be zero padded. A pad length of zero will result in zero values being removed in the result.
Mod
If checked the binay values will be padded until they are a multiple of the pad length.
Separator
The characters used to separate the binary values.
Example

1337

Binary from String: Pad = 8, Mod = true, Separator = ' '

00110001 00110011 00110011 00110111

String from Bin (auto)

Convert binary values to the characters represented by these values. This function used any sequence of non-binary characters ([^10]) as a delimiter. Since the characters are encoded in UTF-16 the binary values are masked to the least significant 16 bits. All non-binary characters are deleted. This function uses JavaScript's Number.toString() method to perform the conversion.

Example

1001110 1101001 1101110 1101010 1100001 1110011 100001

String from Bin (auto): [no arguments]

Ninjas!

String from Bin (length)

All non-binary characters are removed and the remaining binary characters are separated into fixed length binary numbers which are then converted to the characters represented by their values. This function uses String from Bin (auto) so the features of that function also apply here.

Arguments
Length
The number of digits for each binary value.
Example

101000011010011110010110000 1111010011001011110011100001

String from Bin (length): Length = 7

Pirates!

Bin to Decimal

Convert binary numbers in the string to decimal. This treats any sequence of binary digits as a single number. This function uses JavaScript's parseInt() function to perform the conversion.

Arguments
Pad
Decimal values shorter than this length will be zero padded. A pad length of zero will result in zero values being removed in the result.
Mod
If checked the binay values will be padded until they are a multiple of the pad length.
Example

There are 10 kinds of people in the world...

Bin to Decimal: Pad = 1, Mod = false

There are 2 kinds of people in the world...

Bin to Hex

Convert binary values in the string to hexadecimal. This treats any sequence of ones and zeros as a single number. This function uses JavaScript's parseInt() function and Number.toString() method to perform the conversion.

Arguments
Pad
Hexadecimal values shorter than this length will be zero padded. A pad length of zero will result in zero values being removed in the result.
Mod
If checked the hexadecimal values will be padded until they are a multiple of the pad length.
Example

All your 10111010s1110 are belong to us.

Bin to Hex: Pad = 1, Mod = false

All your base are belong to us.

Lists

All list functions operate on values separated by a known character or characters. Most commonly this will be a comma ',' which is the default value for most functions. Another common alternative is the a space character.

Sort Numeric

Sort list values numerically. This function operate on base36 values unless the Use Float option is selected in which case base10 will be used.

Arguments
Separator
The character or character used to separate values in the list. Default ','.
Decending
Normal operation will sort the list values in ascending order. Cheking this will use decending order.
Use Float
If checked the values will be treated as floating point decimals. This alters operation of the function to work in base10 rather than base36.
Example

8,7,3,1,4,5,mangos,0,9,2,6

Sort Numeric: Separator = ',', Decending = true, Use Float = false

mangos,9,8,7,6,5,4,3,2,1,0

Sort Alpha

Sort list values alphabetically. Values are treated as single case so Brave and brave will have to same sort priority.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Decending
Normal operation will sort the list values in ascending order. Cheking this will use decending order.
Example

Justin,Dave,Bob,Mallory,Eve,Carol,Alice,Isaac

Sort Alpha: Separator = ',', Decending = false

Alice,Bob,Carol,Dave,Eve,Isaac,Justin,Mallory

Sort Length

Sort list values by length. To sort same-length values alphabetically or numerically add a Sort Alpha or Sort Numeric stage above.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Decending
Normal operation will sort the list values in ascending order. Cheking this will use decending order.
Example

lambs,sloths,carp,anchovies,orangutans,breakfast cereals,fruit-bats

Sort Length: Separator = ',', Decending = false

carp,lambs,sloths,anchovies,orangutans,fruit-bats,breakfast cereals

Unsort List

Randomise the positions of values in a list.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Example

1,2,3,4

Unsort List: [no arguments]

2,1,4,3

Chop to List

Create a list by chopping the string into fixed-length sub-strings.

Arguments
Length
The number of characters in each value. If the string is not a multiple of this length the last value will be short.
Separator
The character or character used to separate values in the list. Defaults to ','.
Example

handoveryourbags

Chop to List: length = 4, Separator = ' '

hand over your bags

RE Matches to List

Use a Redular Exression to extract list values from a string. This funciton has two modes: without Match Separator checked the regular expression matches the values make up the list; with Match Separator checked the regular expression is used to replace the matches with the separator character. In the latter case perenthised sub matches from Find may be used in the Separator with $1..$9.

Arguments
Find
A regular expression which will be modofied as global regardless of the modifiers used.
Match Separator
If checked the regular expression in Find will match the points at which the string will be split rather than matching the values.
Separator
This character or characters will be used to separate the values in the generated list. If Match Separator is checked this will be treated as the replacement for any matches and perenthised sub-matches may be interpolated using $1..$9.
Example

Sugar Glucose syrup Hydrogenated vegetable oil Anticaking agent: magnesium stearate Peppermint oil

RE Matches to List: Find = '/\s[A-Z]/', Match Separator = true, Separator = ',$1'

Sugar,Glucose syrup,Hydrogenated vegetable oil,Anticaking agent: magnesium stearate,Peppermint oil

Reverse List

Reverse the order of list values.

Example

Alpha Beta Gamma Delta Epsilon Zeta Eta Theta Iota Kappa Lambda Mu Nu Xi Omicron Pi Rho Sigma Tau Upsilon Phi Chi Psi Omega

Reverse List: [no arguments]

Omega Psi Chi Phi Upsilon Tau Sigma Rho Pi Omicron Xi Nu Mu Lambda Kappa Iota Theta Eta Zeta Epsilon Delta Gamma Beta Alpha

Rotate List

Shift the positions of the values left or right wrapping values shifted from one end to the other.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Distance
The number of positions to rotate the list. Positive values rotate to the right, negative to the left. Values larger than the length of the list are wrapped (length mod distance).
Example

U,S,B

Rotate List: Separator = ',', Distance = 1

B,U,S

Sub List

Split a list into sub-lists using a new separator character or characters.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Size
The size of the sub lists. If the size is not a multiple of the list length there may be shorter sub lists at the beginning or end (depending on the Offset value.
Offset
The offset of the start position of the first sub list. Positive values offset to the right, negative to the left. Offsetting creates a shorter list at the beginning and/or end of the list.
New Separator
A seporator that will preplace the previous separator at the boudaries between sublists.
Example

?,1,2,3,4,5,A,B,C,D,E,?

Sub list: Separator = ',', Size = 5, Offset = 1, New Separator = ' - '.

? - 1,2,3,4,5 - A,B,C,D,E - ?

Map List

Add characters to the beginning and end of each value.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Top
characters to be added at the beginning of each value.
Tail
Characters to be added at the end of each value.
Example

1,2,3,4,5

Map List: Separator ',', Top = '(', Tail = ')'

(1),(2),(3),(4),(5)

Enumerate List

Add numbering to the list values.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Base
Decimal value in the range 2-36. This is the radix used for the numbering. It also dictates the base used in the Start argument.
Start
A number in the Base indicated by the previous argument. This is the number interpolated into the first value and incrimented for each subsequent value.
Step
A signed decimal value. This is the incriment between each added number. If the Step is negative then the numbers will be decrimented.
Map
A string representing the format of the added numbers to the values. '$1' will become the number and '$2' the value. Both of these may be repeated.
Example

Collect Underpants,?????,Profit

Enumerate List: Separator = ',', Base = 10, Start = 1, Step = 1, Map = '$1) $2'

1) Collect Underpants,2) ?????,3) Profit

Index List

Organise values into groups based on Regular Expression matching and add headers for each group.

Arguments
Sep
The character or character used to separate values in the list. Defaults to ','.
Find
A regular expression used to extract the portion of the value string used to orgabise the list.
Index
The form of the index header using the captured sub strings from the Find regular expression.
New Sep
The characters used to separate the indexed groups. These characters will be inserted between the last value of the previous list and the header of the next
Other
The index header for values in which not matchs are found.
Example

Trimester,We Get It,Complexion,MicroSD,Retro Virus, You Hang Up First,Admin Mourning,Children's Fantasy,Science Montage, Researcher Translation,Spirit,Snow Tracking,December 25th,Force,Dirty Harry, Gravity Wells,Honor Societies,Semicontrolled Demolition,G-Spot,Dimensional Analysis, Christmas Plans,Strip Games,FIRST Design,Self-Description,Science Valentine, Tensile vs. Shear Strength

Index List: Sep = ',', Find = '/\s*?(\w).+/', Index = ' $1 : ', New Sep = ';', Other = '[Other]'

A : Admin Mourning; C : Children's Fantasy, Christmas Plans, Complexion; D : December 25th, Dimensional Analysis, Dirty Harry; F : FIRST Design, Force; G : G-Spot, Gravity Wells; H : Honor Societies; M : MicroSD; R : Researcher Translation, Retro Virus; S : Science Montage, Science Valentine, Self-Description, Semicontrolled Demolition, Snow Tracking, Spirit, Strip Games; T : Tensile vs. Shear Strength, Trimester; W : We Get It; Y : You Hang Up First

Unique Values

Remove duplicate values from a list. Duplicates must be exact character matches.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Example

Peter,Raymond,Egon,Peter,Winston

Unique Values: Separator = ','

Peter,Raymond,Egon,Winston

Pop Values

Pop values from the right end of a list.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Pop
The number of values to remove from the right end of the list.
Mod
If checked the values will be removed from the end of the list until it's length is a multiple of Pop. If the list is shorter than Pop no values will be removed.
Example

Lennon,McCartney,Harrison,Best

Pop Values: Separator = ',', Pop = 1, Mod = false

Lennon,McCartney,Harrison

Shift Values

Shift values off the start of a list.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Shift
The number of values to remove from the start of the list.
Mod
If checked the values will be removed from the start of the list until it's length is a multiple of Shift. If the list is shorter than Shift no values will be removed.
Example

Falken's Maze,Black Jack,Gin Rummy,Hearts,Bridge,Checkers,Chess,Poker,Fighter Combat,Guerrilla Engagement,Desert Warfare,Air-to-ground Actions,Theaterwide Tactical Warfare,Theaterwide Biotoxic And Chemical Warfare,Global Thermonuclear War

Shift Values: Separator = ',', Shift = 14, Mod = false

Global Thermonuclear War

Left Pad Values

Append characters to the end of each value until it reaches the required length. Longer values are ignored.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Pad
The minimum length for a value.
Mod
If checked the length of each value will be padded until it is a multiple of the Pad length.
Char
The character or characters used to bad the values. If more than one character is used the characters will be applied in sequence starting with the right-most character and repeating until the value is fully padded. This means there may be an incomplete sequence at the left-most end of the padding.
Example

1,11,11,111

Left Pad Values: Separator = ',', Pad = 4, Mod = false, Char = '0'

0001,0011,0011,0111

Left Pad Values (auto)

Left pad each value to equal the length of the longest value in the list.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Char
The character or characters used to bad the values. If more than one character is used the characters will be applied in sequence starting with the right-most character and repeating until the value is fully padded. This means there may be an incomplete sequence at the left-most end of the padding.
Example

0000110010100000 01011111 0000110010100000

Left Pad Values (auto): Separator = ' ', Char = '0'

0000110010100000 0000000001011111 0000110010100000

Right Pad Values

Prepend characters to the beginning of each value until it reaches the required length. Longer values remain unchanged.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Pad
The minimum length for a value.
Mod
If checked the length of each value will be padded until it is a multiple of the Pad length.
Char
The character or characters used to bad the values. If more than one character is used the characters will be applied in sequence starting with the left-most character and repeating until the value is fully padded. This means there may be an incomplete sequence at the right-most end of the padding.
Example

Hugh,Pugh,Barley,McGrew,Cuthbert,Dibble,Grub

Right Pad Values: Separator = ',', Pad = 6, Mod = false, Char = '_'

Hugh__,Pugh__,Barley,McGrew,Cuthbert,Dibble,Grub__

Right Pad Values (auto)

Left pad each value to equal the length of the longest value in the list.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Char
The character or characters used to bad the values. If more than one character is used the characters will be applied in sequence starting with the left-most character and repeating until the value is fully padded. This means there may be an incomplete sequence at the right-most end of the padding.
Example

202-456-1414,866-907-323,347-692-,916-225-5

Left Pad Values (auto): Separator = ' ', Char = '•'

202-456-1414,866-907-323•,347-692-••••,916-225-5•••

Left Limit Values

Truncate each value in the list to a given length, removing characters from the right.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Length
The maximum length for the values.
Mod
If checked the length of each value will be truncated until it is a multiple of the length.
Example

666 - The number of the beast,999 - The number of the police,123 - The combination of my luggage

Separator = ',', Length = 3, Modulus = false

666,999,123

Right Limit Values

Truncate each value in the list to a given length, removing characters from the left.

Arguments
Separator
The character or character used to separate values in the list. Defaults to ','.
Length
The maximum length for the values.
Mod
If checked the length of each value will be truncated until it is a multiple of the length.
Example

00111110,00111010,00101000

Right Limit Values: Separator = ',', Length = 4, Mod = false

1110,1010,1000

Change Separator

An alias for Replace All.

JavaScript

escape

Apply the JavaScript function escape() to the string. This a depreciated escapeing function, superseded by encodeURI and encodeURIComponent. It's most notable features are that it will percent encode any non-alphanumeric characters with the exception of *-./@_+, and that it encodes characters with a Unicode code point greater than 0xFF using UTF-16 in the escape form %uXXXX. Thus the Euro symbol '' will be encoded as '%u20AC' and the character '𧾷' which lies outside of the Basic Multilingual Plain will be encoded as the surrogate pair '%uD85F%uDFB7'.

Example

http://www.youtube.com/watch?v=J---aiyznGQ

escape: [no arguments]

http%3A//www.youtube.com/watch%3Fv%3DJ---aiyznGQ

unescape

Reverses the escape encoding.

Example

http%3A//www.youtube.com/watch%3Fv%3D0Bmhjf0rKe8

unescape: [no arguments]

http://www.youtube.com/watch?v=0Bmhjf0rKe8

encodeURI

Apply the JavaScript function encodeURI to the string. This will not encode alphanumeric characters or the symbols ~!@#$&*()=:/,;?+'. Other characters are encoded in UTF-8 the bytes of which are then percent encoded. This function is intended to be used on complete, formatted URIs which may contain non-ASCII characters that will need to be escaped.

Example

http://www.example.com/watch?symbol=€

encodeURI: [no arguments]

http://www.example.com/watch?symbol=%E2%82%AC

decodeURI

Decode a string encoded using encodeURI.

Example

http://www.example.com/watch?symbol=%E2%82%AC

decodeURI: [no arguments]

http://www.example.com/watch?symbol=€

encodeURIComponent

Apply the JavaScript function encodeURIComponent() Like encodeURI encodes non-alphanumaeric characters with the exception of ~!*()' using percent encoded UTF-8 the bytes. This function is intended to be used on individual sections of a URI prior to formatting. Most likely this will be values in a query string that contain characters normally used in the formatted URI or non-ASCII characters. This can, for example, be used to encode a complete URI as a query string value in a URL.

Example

http://www.youtube.com/watch?v=I1qHVVbYG8Y

encodeURIComonent: [no arguments]

http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DI1qHVVbYG8Y

decodeURIComponent

Decode a string encoded with encodeURIComponent.

Example

http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DI1qHVVbYG8Y

decodeURIComponent: [no arguments]

http://www.youtube.com/watch?v=I1qHVVbYG8Y

Unicode

String to UTF-8

Convert a string into UTF-8 bytes and return the characters whose codes corrispond to the byte values. Essentially this returns the mojibake typically seen when a UTF-8 encoded web page containing international characters indicates that it should be interpreted using ISO 8859-1.

While some of these characters are likely to be non-printable and do not appear in the visible output or are replaced with a �, the values are still available for processing by he next stage in the stack.

Example

Ƹ̵̡Ӝ̵̨̄Ʒ

String to UTF-8: [no arguments]

Ƹ̵̡Ӝ̵̨̄Ʒ

UTF-8 to String

Convert a string to UTF-8, assuming that any character with a code greater than 127 is part of a multi-byte sequence. This reverses the encoding performed by String to UTF-8.

While, in theory, this can convert mojibake to legible text, in practice the mojibake presented by browsers will not allow the copying and pasting of non-printable characters or characters that are not valid Unicode character codes (such as specials which may be replaced by �). This means that some bytes in a multi-bytes sequence will be lost during copying.

Example

ツ

UTF-8 to String: [no arguments]

Shift UC Char Codes

Add a fixed value to the code of each character.

Arguments
Distance
The value to be added to the unicode code point of each character. A negative value will subtract from the character codes.
Example

Somebody set up us the bomb

Shift UC Char Codes: Distance = 1024

ѓѯѭѥѢѯѤѹРѳѥѴРѵѰРѵѳРѴѨѥРѢѯѭѢ

String to Codepoints

Convert a string to a list of the characters' Unicode code points in hexadecimal. In most cases these values will match the output of Hex from String save for characters outside of the Basic Multilingual plain whose surrogate pair codes will be converted to single Unicode values.

Arguments
Separator
The character or characters used to separate the values in the list
Example

Zathras good at doings, not understandings.

String to Codepoints: Separator = ' '

5a 61 74 68 72 61 73 20 67 6f 6f 64 20 61 74 20 64 6f 69 6e 67 73 2c 20 6e 6f 74 20 75 6e 64 65 72 73 74 61 6e 64 69 6e 67 73 2e

Codepoints to String

The reverse of String to Codepoints, converting a list of hexadecimal values and converting them to the characters represented by these codes.

Arguments
Separator
The character or characters used to separate the values in the list
Example

5a 61 74 68 72 61 73 20 67 6f 6f 64 20 61 74 20 64 6f 69 6e 67 73 2c 20 6e 6f 74 20 75 6e 64 65 72 73 74 61 6e 64 69 6e 67 73 2e

Codepoints to String: Separator = ' '

Zathras good at doings, not understandings.

Character Set to UC

Assume the bytes of the string are from a given character set and map them to their Unicode equivelents. This generally assumes some type of mojibake as input, however it does not follow that this will reverse the incorrect application of UTF-8 to an ISO-8859 encoded text since this may have interpreted some characters as incomplete byte sequences that will not render in most browsers. Since almost all character sets carry the alphanumerics of ASCII this conversion will have little or no effect on plain Latin text.

Arguments
Code Page
The character set used for mapping.
Example

Ƕº

Character Set to UC: Code Page = CP437 (DOS-US, OEM-US)

╟╢║

UC to Character Set

Performs the reverse lookup of Character Set to UC, mapping Unicode characters to their codes in other character sets where applicable. Characters that have no mapping in the selected code page are left unchanged. Where the string contains non-ASCII characters this will produce mojibake since the string will be displayed in StringThinger's UTF-8 encoded page.

Arguments
Code Page
The character set to map characters to
Example

╟╢║

UC to Character Set: Code page = CP437 (DOS-US, OEM-US)

Ƕº

Base64

Encode Base64

Encode the string in Base64. Since Base64 encoding requires 8bit values this function checks the string for any character with a code greater than 0x7F and, if found, will automatically convert the string to UTF-8 using the function String to UTF-8 prior to encoding.

Arguments
Range (65 chars)
The ordered characters to be used in encoding. This uses the character class notation from regular expression syntax so a range of characters with sequential Unicode codepoints may be defined. For instance A-Z0-9 indicates capital letters from A to Z and digits from 0 to 9 in that order. The 65th character is used to pad the encoded string. If the range is less than 65 characters an error will be generated and the output will be empty. The default range is A-Za-z0-9+/=. To use a dash - it must appear first, last, imidiately after a valid range, or between two characters with a decending codepoint relationship (that is, the character before the dash must have a higher codepoint value than the one after, so F-A defines just those three characters including the dash while A-F defines the range ABCDEF). If the generated range is greater than 65 characters only the first 65 will be used.
Example

A problem has been detected

Encode Base64: Range = 'A-Za-z0-9+/='

QSBwcm9ibGVtIGhhcyBiZWVuIGRldGVjdGVk

Encode Base64 (UTF-8)

This performs tha same function as Encode Base64 but skips the test for character codes greater than 0x7F. Instead, all character codes are truncated to the least significant 8 bits (code&255). This is useful for data that has already been encoded in some fasion that reduces the code values to less than 256.

Arguments
Range (65 chars)
As Encode Base64.
Example

Service rover 3 boom

Encode Base64 (UTF-8): Range = 'A-Za-z0-9+/='

U2VydmljZSByb3ZlciAzIGJvb20=

Decode Base64

This decodes the string using Base64. If the string does not match the profile of Base64 encoding (length devisible by 4, characters in defined range) the string will is returned unchanged. The character range definition must match that used during encoding.

Arguments
Range (65 chars)
As Encode Base64.
Example

U2VydmljZSByb3ZlciAzIGJvb20=

Decode Base64: Range = 'A-Za-z0-9+/='

Service rover 3 boom

Decode Embedded B64

Search the string for sequences of characters matching the profile of a Base64 encoding and decode them in place. The codes are detected using the given character range and will be decoded only if their length is greater than 4 and are appropriately padded. Anything which does not match the profile is left unchanged.

Arguments
Range (65 chars)
As Encode Base64.
Threshold
The minimum length of Base64 blocks to be decoded. This does not affect rejection of encoded blocks for invalid padding.
Example

Blond haired, buttercream frosted bXVyZGVyIGNha2U=.

Decode Embedded B64: Range = 'A-Za-z0-9+/=', Threshold = 16

Blond haired, buttercream frosted murder cake.

Encryption / Security

Rot13

Encrypt english text by rotating the character positions in the alphabet by 13 places. The same process also decrypts Rot13 encoded text. The function maintains character case.

Arguments
Distance
The number of places to rotate the character positions.
Example

Together you make a wonderful human being.

Rot13: Distance = 13

Gbtrgure lbh znxr n jbaqreshy uhzna orvat.

Randomise String

Randomly re-arrainges the characters in the string. There is no manual seeding of the random number generator in JavaScript, instead the Math.random() method is seeded automatically using the current millisecond time. This means there is no way to maintain a randomising pattern and the randomisation will be changed every time the stage is processed. To hold a randomised string for a time it pause the stage to freeze the output or copy the output into a new stack. Pausing does not allow the randomised string to be recorded in a StringThinger link.

Example

I am Jack's smirking revenge.

Randomise String: [no arguments]

env'enmse kJikarca.r isIgmg [possible result]

Password Strength %

returns a percentage measure of the string's strength as a password based on length, character range, duplication, etc. This should not be considered in any way a reliable measure of password suitability.

Example

Majikthise

Password Strength %: [no arguments]

54%

MD5 (auto)

Generate an MD5 hash of the string. If there are any characters in the string with a character code greater than 0x7F then the string is first passed through String to UTF-8. The returned MD5 hash will be 32 hexadeciaml characters.

Example

Storage Area 9 self destructed last week and destroyed the ship's entire supply of toilet paper.

MD5 (auto): [no arguments]

8aabd0a501566c6ecbde240bc38d8438

MD5 (for UTF-8)

As MD5 (auto) but the character codes are assumed to be 8bit values. All values are masked to the least significant 8 bits prior to processing (code&127).

Example

The slow blade penetrates the shield.

MD5 (for UTF-8): [no arguments]

5c6e292efe0efa76521d347cc03aeaa4

Vigenère cipher

Encrypt the string using a polyalphabetic substitution Vigenère cipher which uses a series of Caesar ciphers derived from the letters in the given keyword. Essentially the substitution for each letter is decided by the relative distance from the letter in the same position in the key which is wrapped to match the length of the plain text input. This only functions with the Latin alphabet, all other characters in both the plain text input and the key will be ignored by the encryption process. The cypher text will retain the case of the plain text.

Arguments
Key
The text used to encrypt the message. The case of the key is irrelevent and any non-alpha characters will be ignored one two will produce the same cyphertext as One&Two.
Example

Are you suggesting coconuts migrate?

Vigenère cipher: Key = 'Not at all

Nfx yhu dftuxsmiyr pcvogued zwzrttp?

Decode Vigenère

Decrypts cyphertext encypted using Vigenère cipher. As with the encryption process the process will ignore non-alpha characters in both the cypher text and the key. Othe than the ignored characters the key must be identical to the one used for encryption.

Arguments
Key
The text used to decrypt the message. The case of the key is irrelevent and any non-alpha characters will be ignored (one two will produce the same cyphertext for the same input as One&Two.
Example

Nfx yhu dftuxsmiyr pcvogued zwzrttp?

Vigenère cipher: Key = 'notatall'

Are you suggesting coconuts migrate?

Generate

Make Token

Generate a random string of characters from the range available from the input string. One way to create a token of a range of specific characters is to use the Make Char Range to create an expanded set as input. As with Randomise String the there is no ability to seed the randon number generator, so the result will be different each time the stage is processed. The process may select any of the characters from the input including spaces, newlines, combining/zero-width characters.

Arguments
Length
The number of character in the token.
Example

The only winning move is not to play

Make Token: Length = 32

mmiae oaspsponoamgmaspnnitgitoys [possible result]

Make Char Range

Output a set of characters from a given range.

Arguments
Range
Similar to the Range argument for Encode Base64 Except that the limit is arbitrary. If this argument is left blank the input string will be used.
Limit
The maximum length of the output set. Longer sets are truncated from the end.
Example

0-9A-Z

Make Char Range: Range = '', Limit = 1000

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ

Make Range from Chars

In a sense this function reverses the process of Make Char Range generating a range definition from the available characters in the string. The shortest sequential range (defined by the dash as in a-z) is four characters, a smaller range than this takes up fewer characters than the definition of the range. So abcd will be collapsed to a-d, but efg will be returned as is.

Example

the quick brown fox jumps over the lazy dog

Make Range from Chars: [no arguments]

a-z

Show Function Code

Output the code of the function as generated by the Function.toString() method. Without a function name it will output a list of function titles and names.

Arguments
Function Name
The name of the function. The name is the internal identifier for the function rather than the title which appears in the function selector. If this is left empty the output will show a list of functions.
Example

[no input]

Show Function Code: Function Name = 'revstring'

function (string) {
    var new_string = "";
    var i = string.length;
    while (i--) {
        new_string += string.charAt(i);
    }
    return new_string;
}

Super Stage

List Super Stage

Apply a sub stack to each item in a list. See the Super Stage section for more information on using this function.

Arguments
Separator
The character or characters used to separate items in the list. This will not be changed by the function.
Stages
The number of stages below which will be used by this Super Stage
Return
The format of the value returned after processing. $1 will be replaced by the original string of the list item, while $2 will be replaced with the processed string.

RegExp Super Stage

Apply a sub stack to every match in the string. See the Super Stage section for more information on using this function.

Arguments
Find
The regular expression used to match sub string that will be processed by this Super Stage.
Stages
The number of stages below which will be used by this Super Stage
Replace
The format of the returned value that will replace the matched sub strings in the output. $1 will be replaced by the original string of the list item, while $2 will be replaced with the processed string.

Miscellaneous

To Morse Code

Convert the string to morse code. Characters with no Morse Code representation are discarded.

Arguments
Dot
Character(s) representing the dot.
Dash
Character(s) representing the dash.
Space
Character(s) representing the long-pause between words, essentially replacing the spaces in the string.
Pause
Charceter(s) representing the short-pause between Morse Code character sequences.
Example

dot dot dot dot pause dot

To Morse Code: Dot = '.', Dash = '-', Space = '/', Pause = ' '

-.. --- - / -.. --- - / -.. --- - / -.. --- - / .--. .- ..- ... . / -.. --- -

From Morse Code

Decode a Morse Code sequence to a readable string. Replaces sequences of characters defined as Morse Code with the characters they represent. The characters in the returned string are always in upper case.

Arguments
Dot
Character(s) representing the dot.
Dash
Character(s) representing the dash.
Space
Character(s) representing the long-pause between words, essentially replacing the spaces in the string.
Pause
Charceter(s) representing the short-pause between Morse Code character sequences.
Example

DOT DOT DOT DOT PAUSE DOT DOT

From Morse Code: Dot = 'DOT', Dash = 'DASH', Space = 'SPACE', Pause = 'PAUSE'

HI

To NATO Phonetic

Replace each alpha character with its NATO phonetic spelling alphabet code words. Title case will be used for code word replacing a capital letter and lower case for all other code words.

Arguments
Space
Word or character sequence used to indicate spaces in the text.
Period
Word or character sequence used to indicate a full stop.
Separator
The character used to separate the words in the output.
Example

RTFM

To NATO Phonetic: Space = '', Period = 'Stop', Separator = ' '

Romeo Tango Foxtrot Mike

From NATO Phonetic

Replace each NATO phonetic code word with the character it represents. All words from the input are truncated to the first letter regardless of whether the word is actually defined as NATO Phonetic, except those defined in the arguments replacing spaces and periods. The input string will always be split on the defined separator.

Arguments
Space
Word or character sequence that will be replaced by a space character in the output.
Period
Word or character sequence that will be replaced by a period in the output.
Separator
The character used to separate the words in the input.
Example

stop Hotel alfa mike mike echo romeo Tango india mike echo

From NATO Phonetic: Space = 'space', Period = 'stop', separator = ' '

.HammerTime

Flip Text

Replace characters in the string with Unicode alternatives that resemble the original rotated through 180°. The string is first converted to lower case and the resulting string is reversed. Characters with no defined alternates will be repeated in the output unchanged.

Example

Visit Australia

Flip Text: [no arguments]

ɐıןɐɹʇsnɐ ʇısıʌ

Un-Flip Text

Reverse the Flip Text process. If successful this will produce a lower case string. Characters that are not defined as flipped are repeated in the output unchanged.

Example

ɐıןɐɹʇsnɐ ǝʌɐǝן

Un-Flip Text: [no arguments]

leave australia