Tengo una cadena con múltiples delimitadores y quería dividirla por el primer delimitador encontrado. No pude encontrar ningún método para hacer esto, cada método que probé devolverá todo el carácter encontrado después del último delimitador o el carácter entre los primeros 2 delimitadores encontrados. ¿Cómo puedo obtener todos los caracteres después del primer delimitador? Cualquier ayuda es apreciada. Gracias por adelantado.
x = 'aa-bb-cc-dd' console.log(x.split('-')[1]) // returns bb expected bb-cc-dd console.log(x.split('-').pop()) // returns dd expected bb-cc-dd console.log(x.split('-')[1].pop()) // something like this but obviously this wont workPuedes usar String#indexOf con String#slice así:
x = 'aa-bb-cc-dd' console.log(x.slice(x.indexOf('-')+1)) // returns bb-cc-ddDe una sola mano :
x = 'aa-bb-cc-dd' function splitOnFirstDelimiter (str, del) { const index = str.indexOf(del); return index < 0 ? str : str.slice(index + del.length); } console.log(splitOnFirstDelimiter(x, '-'))¿Qué tal usar slice en lugar de split y luego crear una función que devuelva el valor esperado como este?
function splitting (str) { return str.slice(str.indexOf('-') + 1) } const r1 = splitting('aa-bb-cc-dd') // bb-cc-dd const r2 = splitting(r1) // cc-dd const r3 = splitting(r2) // dd console.log(r1) console.log(r2) console.log(r3)