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

Předmět Autor Datum
No jestli někdo pochopí, co chceš, tak bude mít můj obdiv.
Wikan 18.01.2020 21:36
Wikan
Taky to nechápu. Uveď konkrétní příklad.
Pavel 18.01.2020 21:40
Pavel
Snáď som to pochopil. Ideálne to rozporcovať regulárnym výrazom, ale neviem či ti to pomôže. Niečo a…
pozorovateľ 18.01.2020 21:43
pozorovateľ
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…
Kolemjdoucíí 18.01.2020 23:02
Kolemjdoucíí
Hm, asi se budeš muset mrknout na regulární výrazy.
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....…
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ľ
Proste každú skupinu znakov a číslic osamostatniť... Makro v exceli... :-D Pôjdeš od prvého znaku, s…
robert13 18.01.2020 22:07
robert13
V C jsou v knihovně ctype rovnou funkce is digit() nebo isalpha().
Prim 18.01.2020 22:31
Prim

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.

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);

Proste každú skupinu znakov a číslic osamostatniť...
Makro v exceli... :-D
Pôjdeš od prvého znaku, skontroluješ či nasledujúci znak je tiež z rovnakej skupiny. Ak ano, pokračuješ s kontrolou ďalšieho. Ak nie, utneš. So zvyškom pokračuješ odznova dovtedy, kým nedosiahneš posledného znaku. Číslice od ostatných znakov rozlíšiš podľa hodnoty kódu ASCII znaku

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