What transformations can ArrayCat apply to list data?

Updated

ArrayCat can apply 14 named transformations to list data before or during conversion to an array format. They cover four common cleanup jobs: removing unwanted rows, normalizing text, encoding values, and reordering. You can combine several transformations in one pass, which is the main reason to use the tool instead of editing the list by hand.

The full list of transformations

The ArrayCat page lists these options:

Transformation What it does to each element
Sort elements Reorders the list
Remove duplicate elements Drops repeated values
Remove empty elements Drops blank rows
Count duplicate elements Reports how many times values repeat
Convert to lower case Lowercases text
Remove diacritics Strips accents from characters
Trim whitespace Removes leading and trailing spaces
Strip excess whitespace Collapses extra internal spaces
Unify whitespace Makes spacing consistent across elements
Fix apostrophes Normalizes apostrophe characters
Fix quotation marks Normalizes quote characters
Remove trailing separators Drops a separator left at the end of a value
Base64 encode elements Encodes each element as Base64
Convert to HTML entities Escapes characters as HTML entities

Which transformations to combine for a typical cleanup

A CSV export usually arrives with blank rows, repeated entries, inconsistent capitalization, and stray spaces. A practical sequence is:

  1. Remove empty elements — clears blank rows created by trailing line breaks.
  2. Trim whitespace — removes spaces that would otherwise make "apple" and "apple " count as different values.
  3. Remove duplicate elements — now actually catches the duplicates, because the values match after trimming.
  4. Convert to lower case — merges Apple and apple if case should not matter.
  5. Sort elements — produces a stable, readable order.

Order matters. Trimming before de-duplicating is the step people most often skip, and it is the reason duplicates survive a "remove duplicates" pass.

Text normalization vs. encoding

Two groups of transformations look similar but do different things:

  • Normalization (remove diacritics, fix apostrophes, fix quotation marks, unify whitespace) changes characters so values are consistent and safe to compare. Removing diacritics turns café into cafe, which is useful when matching against a system that does not store accents.
  • Encoding (Base64 encode elements, convert to HTML entities) changes how values are represented, not what they mean. Base64 is for transporting or storing values where raw characters would break the target format; HTML entities are for values that will be rendered in a page.

Pick encoding only when the destination requires it. Applying Base64 to a list you intend to read or compare makes the output unusable for that purpose.

Combining transformations with a format conversion

Transformations run alongside the output format choice, so you can clean and convert in one step. The output formats offered are:

  • One item per row
  • Delphi array
  • Go array
  • JavaScript array
  • Pascal array
  • PHP array
  • Python array
  • SQL insert

For example, converting a CSV file to a JavaScript array without duplicates means selecting the JavaScript array output and enabling remove duplicate elements (plus trim whitespace first, per the sequence above). The same cleaned list can be re-run with the PHP array or SQL insert output if you need it in more than one place.

Input formats you can start from

Transformations apply to whatever you paste or load, and the accepted input layouts are:

  • One item per row
  • Comma separated
  • Inside quotation marks
  • Tab separated

A "Load file" option is available for bringing in a file directly. The page also notes a maximum row length, so very long single rows may need to be split before processing.

Practical limits to check before relying on it

  • Sort order is not specified on the page. If you need a particular collation (numeric vs. alphabetical, locale-aware), verify the result rather than assuming.
  • "Count duplicate elements" produces a count, not a cleaned list. Use it to inspect the data, then run remove duplicate elements for the actual output.
  • Encoding transformations are one-way in practice. Keep your original list if you may need the raw values again.
  • The tool is described as free on its own page. No account or pricing details are given, so treat that as the current stated status rather than a guarantee.

If your goal is simply to see what is in the list before cleaning it, run count duplicate elements first; if your goal is a paste-ready array, run the cleanup sequence and pick the target format in the same pass.