Searching
import {
contains, containsAll, containsAny, count, between, betweenAll,
} from '@ppabari/strio/str';
contains
contains(str: string, substring: string, caseSensitive?: boolean): boolean
caseSensitive defaults to true.
contains('Hello World', 'World'); // โ true
contains('Hello World', 'world'); // โ false
contains('Hello World', 'world', false); // โ true
containsAll
containsAll(str: string, substrings: string[], caseSensitive?: boolean): boolean
containsAll('the quick fox', ['the', 'fox']); // โ true
containsAll('the quick fox', ['the', 'dog']); // โ false
containsAny
containsAny(str: string, substrings: string[], caseSensitive?: boolean): boolean
containsAny('the quick fox', ['cat', 'fox']); // โ true
containsAny('the quick fox', ['cat', 'dog']); // โ false
count
count(str: string, substring: string, overlapping?: boolean): number
Count occurrences. Pass overlapping = true to count overlapping matches.
count('banana', 'a'); // โ 3
count('aaaa', 'aa'); // โ 2
count('aaaa', 'aa', true); // โ 3
between
between(str: string, start: string, end: string): string
Extract the first substring between start and end. Returns '' if not found.
between('[a][b]', '[', ']'); // โ 'a'
between('key=value;', '=', ';'); // โ 'value'
betweenAll
betweenAll(str: string, start: string, end: string): string[]
Extract every non-overlapping substring between the delimiters.
betweenAll('[a][b][c]', '[', ']'); // โ ['a', 'b', 'c']