Remove list item suffixes

Remove list item suffixes by stripping trailing `;`, `,`, `.`, `:`, `!`, and spaces from every line. Default Side is End-only, so leading content stays intact. Edit the Chars field to target different trailing characters.

Input
Ready
Output
Live

A character-class stripper at line ends

Same op as trim, with defaults tuned for trailing-punctuation cleanup. Chars `;,.:! ` is the character class applied as `/[;,.:! ]+$/` to each line, stripping any run of those characters from the end.

As with all character-class trims, this is NOT a literal string match. Chars `;` strips a run of semicolons; Chars `;,` strips any mix of semicolons and commas. If you need a literal suffix like `END` stripped, use Replace with Regex + Find `END$`.

Numeric suffixes (e.g. strip `123` from `apple123` to get `apple`) need Chars `0123456789`. That is a real use case - the old example showed it working, and it does, if you set that char set explicitly.

How to use remove list item suffixes

  1. 1Paste your list into the input panel
  2. 2Default strips `;`, `,`, `.`, `:`, `!`, and trailing spaces
  3. 3Edit Chars to trim for different targets (e.g. `0-9` for numeric suffixes)
  4. 4Side defaults to End only - switch to Both if prefixes should also be stripped
  5. 5For literal string suffixes, use Replace with Regex

Keyboard shortcuts

Drive ListShift without touching the mouse.

Shortcut Action
Ctrl ZUndo last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor
EscExit fullscreen
Ctrl KOpen the command palette to jump to any tool
Ctrl SSave current pipeline draft Plus
Ctrl PRun a saved pipeline Plus

What this tool actually does

Same op as trim, pre-seeded for trailing punctuation.

Strips common end punctuation

Default Chars `;,.:! ` covers the usual trailing delimiters left over from copy-paste from SQL, prose, or shell output.

Character class, not string match

Chars `END` is `[END]+` - any run of `E`, `N`, `D` at the end. To strip the literal string `END`, use Replace with Regex mode + Find `END$`.

Numeric suffix cleanup

Set Chars to `0123456789` to strip trailing digit runs. `apple123` → `apple`. Useful for versioned names or auto-incremented IDs.

End-only by default

Leading content preserved. Switch Side to Start or Both if your input has prefixes too - but usually Remove prefixes is the better tool for leading-side work.

Paired with Add a suffix

Add a suffix is the mirror. Together they let you swap one suffix for another (strip here, then add).

Worked example

Default Chars `;,.:! ` handles mixed trailing punctuation.

Input
apple;
banana,
cherry.
Output
apple
banana
cherry

Settings reference

How each option shapes the output using the sample above.

Setting What it does Effect on the sample
Chars: `;,.:! ` (default), Side: End Strips common end punctuation + space `apple;` / `banana,` / `cherry.` → `apple` / `banana` / `cherry`
Chars: `0123456789` Strips trailing digit runs `apple123` → `apple`
Chars: `END` Strips any run of `E`, `N`, `D` at end Strips `END` and `DEN`; NOT a literal-string match
Chars blank Fallback to whitespace-only trim Trailing whitespace gone; punctuation stays
Side: Both Also strips from Start Useful if items have both prefix + suffix noise

FAQ

Does Chars match a literal string?
No - it is a character class. Chars `END` matches any combination of `E`, `N`, `D` at the line end. For literal string suffixes, use Replace with Regex mode.
How do I strip numeric suffixes like `apple123` → `apple`?
Set Chars to `0123456789`. The regex `[0-9]+$` strips any trailing digit run.
How do I strip a literal suffix like `-v2`?
Use Replace with Regex on, Find `-v\d+$`, Replace empty.
How is this different from Remove prefixes?
Remove prefixes is the same op tuned for Start-side (defaults to Chars `0-9.) -`). This tool defaults to End-side with trailing-punctuation Chars.
What if the line has no matching trailing character?
The line passes through unchanged. No Find → no strip.