dividir una cadena larga según la posición del delimitadorHola
Tengo una columna que tiene cadenas largas (ver ejemplo a continuación). Quiero extraer todo el texto después del séptimo delimitador de "_" desde la derecha. Probé munger pero no parece funcionar bien al final.
¿Alguien puede darme alguna sugerencia sobre cómo puedo hacerlo bien?
1)shjdjsh._ndjrpe_hfkjd_tyrwytre5_hlhm_jgds.d._jkdjf_hfkd_a
salida deseada: ndjrpe_hfkjd_tyrwytre5_hlhm_jgds.d._jkdjf_hfkd_a
2)hhd_wew_klf:_jdbfjdf_qwkokv_ctls_msdn_a_f_g_skjd_lad_vtl_sdjnskjshdja_jndf_skdj_ccf
salida deseada: g_skjd_lad_vtl_sdjnskjshdja_jndf_skdj_ccf
Automatización y secuencias de comandosRe: dividir una cadena larga según la posición del delimitadorAquí está la fórmula que usé.
Substr(
:Column 1,
Contains( :Column 1, Word( -8, :Column 1, "_" ) )
)

Re: dividir una cadena larga según la posición del delimitadorPodrías usar Word() con índices negativos
Names Default To Here(1);
str1 = "shjdjsh._ndjrpe_hfkjd_tyrwytre5_hlhm_jgds.d._jkdjf_hfkd_a";
result1 = "ndjrpe_hfkjd_tyrwytre5_hlhm_jgds.d._jkdjf_hfkd_a";
str2 = "hhd_wew_klf:_jdbfjdf_qwkokv_ctls_msdn_a_f_g_skjd_lad_vtl_sdjnskjshdja_jndf_skdj_ccf";
result2 = "g_skjd_lad_vtl_sdjnskjshdja_jndf_skdj_ccf";
res1 = Word([-8 -1], str1, "_");
res2 = Word([-8 -1], str2, "_");
res1 == result1;
res2 == result2;