locutus
Version:
Locutus other languages' standard libraries to JavaScript for fun and educational purposes
19 lines (18 loc) • 754 B
JavaScript
export function CutPrefix(s, prefix) {
// discuss at: https://locutus.io/golang/strings/CutPrefix
// parity verified: Go 1.23
// original by: Kevin van Zonneveld (https://kvz.io)
// note 1: Returns [after, found] and mirrors Go strings.CutPrefix behavior.
// example 1: CutPrefix('abc', 'a')
// returns 1: ['bc', true]
// example 2: CutPrefix('abc', '')
// returns 2: ['abc', true]
// example 3: CutPrefix('abc', 'd')
// returns 3: ['abc', false]
const value = String(s);
const candidatePrefix = String(prefix);
if (value.startsWith(candidatePrefix)) {
return [value.slice(candidatePrefix.length), true];
}
return [value, false];
}