Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem JS - jak rozdělit string podle zbaků z abecedy a podle čísel

Ahoj, neznáte někdo funkci která by dokázala vytvořit / rozdělit proměnné

1) pokud var (string) obsahuje na začátku znaky z abecedy a na konci var (number) čísla - tak chci vytvořit jednu var (string) před prvním číslem a jednu var (number) za posledním znakem z abecedy
2) pokud var (string) obsahuje znaky z abecedy i na konci - tak chci vytvořit jednu var (string) před číslem, jednu var (number) čísla uprostřed a jednu var (string) za posledním číslem

Díky

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Přiklady var str = 'asdf4154fggh'; a potřebuji v tomto případě získat var a = 'asdf'; var b = 4154;…
Kolemjdoucíí 18.01.2020 22:04
Kolemjdoucíí
Tohle už se pochopit dá. Akorát mi není jasný, jestli chceš dynamicky deklarovat proměnný? To snad a…
Pavel 18.01.2020 22:37
Pavel
Jedná se o Javascript a je mi jedno jestli to bude pole nebo objekt.
Kolemjdoucíí 18.01.2020 22:43
Kolemjdoucíí
Jak už tu bylo řečeno. Budeš si to muset napsat sám tak, že to budeš procházet znak po znaku.
Wikan 18.01.2020 22:48
Wikan
Tak jsem něco vypotil :-D je to sice funkční ale rozdělit string kódem na 20 řádků je fakt síla....…
Kolemjdoucíí 18.01.2020 23:59
Kolemjdoucíí
Aj tak sa dá. Alebo ako som už písal, napr https://stackoverflow.com/questions/9792427/javascript-re… poslední
pozorovateľ 19.01.2020 00:21
pozorovateľ

Přiklady

var str = 'asdf4154fggh';
a potřebuji v tomto případě získat
var a = 'asdf';
var b = 4154;
var c = 'fggh';
var str = 'gtffdfg87';
a potřebuji v tomto případě získat
var a = 'gtffdfg';
var b = 87;
var str = 'asdf4154fggh87544';
a potřebuji v tomto případě získat
var a = 'asdf';
var b = 4154;
var c = 'fggh';
var d = 87544;

Proměnná var str může obsahovat libovolný počet číslic a znaků z abecedy.

Tak jsem něco vypotil :-D je to sice funkční ale rozdělit string kódem na 20 řádků je fakt síla....

        let znaky = 'abcdef01234ghijkl56789abcdef01234ghijkl56789';
        let temp = '';
        let cisla = ['0','1','2','3','4','5','6','7','8','9'];
        let bool = false ;
        for (let znak of znaky) {
                if ( cisla.includes(znak) === false ) {
                        if ( bool === false ) temp += '-' ;
                        temp += znak;
                        bool = true ;
                }else {
                        if ( bool === true ) temp += '-' ;
                        temp += znak;
                        bool = false ;
                };
        };
        temp = temp.substr(1);
        let array = temp.split('-');
        for ( let i = 0 ; i < array.length ; i++ ) {
                if (i % 2) array[i] = Number(array[i]);
        };
        console.log('array: ', array);

Zpět do poradny Odpovědět na původní otázku Nahoru