Delete list items

Drop every line that contains a matching pattern. Default is a case-insensitive substring match on `apple` - any line containing the substring is removed. Toggle Whole word to match only when the pattern is a standalone word. Not regex-aware: metacharacters are treated literally (except when Whole word is on, where the pattern is regex-escaped and wrapped in `\b` boundaries).

Input
Ready
Output
Live

Substring delete with optional word boundaries

With Whole word off (default), every line is tested with `line.includes(pattern)` and dropped if the pattern is anywhere in the line. With Whole word on, the pattern is regex-escaped and wrapped in `\b` boundaries, so `apple` only matches `apple` surrounded by word-breaks (start, end, whitespace, punctuation).

Case sensitive (off by default) flips whether the compare is case-aware. In Whole word mode this toggles the `i` regex flag; in substring mode it toggles a `toLowerCase` on both sides.

No regex mode - the pattern is literal text, not a regex. If you need regex-based removal, use Filter list lines in Regex mode with Invert on.

How to use delete list items

  1. 1Paste your list into the input panel
  2. 2Type the substring to match in Delete matching
  3. 3Toggle Whole word to require word-boundary matches (e.g. `apple` but not `apple pie`)
  4. 4Toggle Case sensitive to require exact-case matching
  5. 5Output: every non-matching line, in original order

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

Substring filter with optional word-boundary + case toggles.

Substring match by default

Any line that contains the pattern as a substring is dropped. `apple` drops both `apple` and `apple pie`. Fast, predictable, no regex surprises.

Whole word wraps in `\b` boundaries

Toggle on to delete only lines where the pattern appears as a standalone word. The pattern is regex-escaped (so `.`, `*` match literally), then wrapped in `\b…\b`. `apple` drops `apple` but keeps `apple pie` in this mode.

Case sensitivity toggle

Off by default. `apple` matches `Apple`, `APPLE`, `apple`. Turn on to require exact case.

Not a regex tool

The pattern is literal text. Metacharacters (`.`, `*`, `+`, `?`) match themselves. For actual regex, use Filter list lines in Regex mode with Invert on - that drops regex-matching lines.

Original order preserved

Kept lines stay in their original positions. No sort, no reorder. Blank lines pass through (they never match a non-empty pattern).

Worked example

Default Whole word off, pattern `apple`. Substring match drops both `apple` and `apple pie`.

Input
apple
banana
carrot
apple pie
apricot
Output
banana
carrot
apricot

Settings reference

How each option shapes the output using the sample above (pattern `apple`).

Setting What it does Effect on the sample
Whole word: off (default), pattern: `apple` Substring match - anywhere in the line Drops `apple` AND `apple pie`
Whole word: on, pattern: `apple` `\b`-bounded match - standalone word only Drops only `apple`; keeps `apple pie` (and `apricot`)
Case sensitive: on, pattern: `apple` Exact-case match No change (sample is all lowercase); `Apple` in the input would stay
Empty pattern No deletions - input returned unchanged Status bar: "No pattern - nothing deleted"
Blank lines (automatic) Pass through - blank never matches a non-empty pattern A trailing blank line stays

FAQ

Does the pattern support regex?
No. The pattern is literal text. `.` matches `.`, `*` matches `*`. For regex-based removal, use Filter list lines in Regex mode with Invert on - that drops regex-matching lines.
How do I delete only exact-word matches?
Toggle Whole word on. The pattern gets wrapped in `\b…\b` boundaries, so `apple` matches standalone `apple` but not `apple pie` or `pineapple`.
What is the difference between Delete and Filter list lines with Invert?
Delete is substring-only (or `\b`-bounded with Whole word on). Filter list lines offers five match modes (Contains, Equals, Starts, Ends, Regex) plus Invert. Pick Delete for the simpler case; Filter with Invert for any of the other modes.
What happens if the pattern is empty?
Nothing is deleted. The input returns unchanged and the status bar shows "No pattern - nothing deleted".
Can I delete multiple patterns at once?
Not directly - Delete takes one pattern per run. Chain multiple runs, or use Filter list lines in Regex mode with an alternation (`a|b|c`) and Invert on.