dividere la stringa lunga in base alla posizione del delimitatoreCIAO
Ho una colonna che ha stringhe lunghe (vedi esempio sotto). Voglio estrarre tutto il testo dopo il settimo delimitatore di "_" da destra. Ho provato Munger ma non sembra funzionare bene nella parte finale.
qualcuno può fornire suggerimenti su come farlo nel modo giusto?
1)shjdjsh._ndjrpe_hfkjd_tyrwytre5_hlhm_jgds.d._jkdjf_hfkd_a
output desiderato: 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
output desiderato: g_skjd_lad_vtl_sdjnskjshdja_jndf_skdj_ccf
Automazione e scriptingRe: dividere una stringa lunga in base alla posizione del delimitatoreEcco la formula che ho usato
Substr(
:Column 1,
Contains( :Column 1, Word( -8, :Column 1, "_" ) )
)

Re: dividere una stringa lunga in base alla posizione del delimitatorePotresti usare Word() con indici negativi
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;