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
Tady jsem něco našel, ale umí to pouze abcdef123456. Tento string abcdef123456abcdef ani tento strig… nový
Kolemjdoucíí 18.01.2020 23:02
Kolemjdoucíí
Hm, asi se budeš muset mrknout na regulární výrazy. nový
Pavel 18.01.2020 23:04
Pavel
Tak jsem něco vypotil :-D je to sice funkční ale rozdělit string kódem na 20 řádků je fakt síla....… nový
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.

Tohle už se pochopit dá. Akorát mi není jasný, jestli chceš dynamicky deklarovat proměnný? To snad ani nejde ne? Taky by bylo dobrý uvést programovací jazyk.

Chápal bych, kdybys ten řetězec rozložil na jednotlivý části (text, číslo) do pole.

Tady jsem něco našel, ale umí to pouze abcdef123456. Tento string abcdef123456abcdef ani tento strig abcdef123456abcdef123456 to neumí. Nejde to jednoduše doplnit?

var str = 'abcdef123456';
var left = str.slice(0, str.search(/\d/));
var num = str.replace(left, '');
console.log(left, num);

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