abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    26.12. 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

    Ladislav Hagara | Komentářů: 0
    26.12. 13:22 | Zajímavý software

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 7
    26.12. 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    26.12. 03:33 | Nová verze

    Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    25.12. 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 30
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (35%)
     (2%)
     (19%)
     (2%)
     (2%)
     (2%)
     (15%)
     (15%)
     (10%)
    Celkem 124 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník

    Dotaz: JAVA - rozdelit slovo na pismena

    tomes.io avatar 21.12.2012 13:47 tomes.io | skóre: 12 | blog: tomesh
    JAVA - rozdelit slovo na pismena
    Přečteno: 1112×
    Ahoj, bojuju s rozdelenim slova na jednotliva pismena. Konkretne bych potreboval ze slova(jednoho retezce), kuprikladu:
    M41
    dostat jako vystup :
    M<41>
    . Potrebuju oddelit prvni pismeno a cisla za nim dat do sipek.

    Zkousel jsem :
    slovo.split("")
    s tim ze bych si tam pak ty sipky concatoval, ale ten split() me to na pismena nerozdeli.

    Pokud bych rozdelil slovo na pole charu, tak zas asi tezko concatuju ty sipky...

    Mohl by nekdo poradit pls?

    Řešení dotazu:


    Odpovědi

    21.12.2012 14:15 Franta
    Rozbalit Rozbalit vše Re: JAVA - rozdelit slovo na pismena
    Pokud bych rozdelil slovo na pole charu, tak zas asi tezko concatuju ty sipky...
    Pak to pole projdeš v cyklu a pomocí StringBuilderu postupně sestavíš nový řetězec – na některá místa přidáš ty šipky.

    Měl bys ale upřesnit zadání. Proč chceš šipky přidat zrovna kolem 41? Možná by se ti hodily regulární výrazy – definuješ si vzor, ten může obsahovat skupiny (části textu) a ty si pak vytáhneš a třeba obalíš šipkami.
    tomes.io avatar 21.12.2012 14:45 tomes.io | skóre: 12 | blog: tomesh
    Rozbalit Rozbalit vše Re: JAVA - rozdelit slovo na pismena
    Kolem cisla musi byt sipky. Mam to v zadani. Slouzi to potom pro lepsi parsovani, objekty budou nadale sortovany podle cisel, takze az budu definovat comparTo tak se to bude hodit.

    Kazdopadne nakonec jsem to vyresil pres regularni vyrazy, jak jsi rekl. Dostal jsem diky tomu aspon String s cislem, coz uz mi pomohlo:
    char[] charArray = word.toCharArray();
    String temp = Character.toString(charArray[0]); //getting object letter
                    
    Pattern pattern = Pattern.compile("^"+temp+"(\\d+)$"); //setting a regex pattern
    Matcher matcher = pattern.matcher(word);
        
    if(!(matcher.matches())) {
                        
        throw new CatalogIOException("wrong ID format");
    }
                    
                            
    String ID = temp.concat("<").concat(matcher.group(1)).concat(">"); //matcher.gorup(1) returns a string with the object number
    
    xkucf03 avatar 21.12.2012 16:39 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: JAVA - rozdelit slovo na pismena
    Tak v druhém kroku můžeš zkusit OOP :-) Místo vymýšlení nějakého pseudojazyka s čísly v závorkách z toho udělej instance nějaké tvé třídy, kde to číslo bude uložené jako int v privátní proměnné.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    Řešení 1× (danaketh)
    22.12.2012 16:57 ::: | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: JAVA - rozdelit slovo na pismena
    jsou v jave regexy?

    v perlu bych to napsal takhle:
    s/^([a-z])([0-9]+)/$1<$2>/i;
    
    xkucf03 avatar 22.12.2012 19:06 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: JAVA - rozdelit slovo na pismena
    Ano, součástí základní knihovny Javy SE jsou regulární výrazy. Napíšeš to třeba takhle:
    "M41".replaceAll("([0-9]+)", "<$1>")
    (a při opakovaném použití je dobré si regulární výrazy předkompilovat)
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    28.3.2013 14:37 Robo
    Rozbalit Rozbalit vše Re: JAVA - rozdelit slovo na pismena
    public static String updateText(String str) {
            StringBuffer updatedText = new StringBuffer();
            Matcher matcher = Pattern.compile("\\d+").matcher(str);
            while(matcher.find()) {
                String group = matcher.group();
                StringBuilder replacement = new StringBuilder();
                replacement.append("<").append(group).append(">");
                matcher.appendReplacement(updatedText, replacement.toString());
            }
            matcher.appendTail(updatedText);
            return updatedText.toString();
    }
    
    28.3.2013 15:32 DarkKnightCZ | skóre: 12
    Rozbalit Rozbalit vše Re: JAVA - rozdelit slovo na pismena

    no to potes, takova prasarna... proc navic komentujete 100 dni stary dotaz, kde navic padlo elegantni reseni?

    28.3.2013 21:42 Nobody
    Rozbalit Rozbalit vše Re: JAVA - rozdelit slovo na pismena
    Vubec jste nepochopil vtip.
    28.3.2013 21:52 potato
    Rozbalit Rozbalit vše Re: JAVA - rozdelit slovo na pismena
    Žádný vtip tady není. Jen nesmyslný komentář sto dní starého dotazu.
    1.4.2013 20:10 R
    Rozbalit Rozbalit vše Re: JAVA - rozdelit slovo na pismena
    No az taka "prasarna" to teda nie je, pretoze moja funkcia je o polovicu rychlejsia pri kratkych Stringoch, pri dlhych Stringoch sa to vyrovnava s Tvojim "elegantnym resenim". Este lepsie je ale pouzit pri velmi velkych Stringoch/suboroch Scanner (hasNextInt() + nextInt()), ktory sa da napojit na input stream a nezadrbavat pamat. Ale uznavam, ze 1 riadkova funkcia je elegantna.

    import java.util.Date;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class Test {
    
        private static final String TEST_STRING = "M23";
    
        public static void main(String[] args) {
            Date d = new Date();
            Pattern pattern = Pattern.compile("\\d+");
    
            for(int i = 0; i < 10000000; i++) {
                TEST_STRING.replaceAll("([0-9]+)", "<$1>");
    
            }
    
            System.out.println(new Date().getTime() - d.getTime());
    
            d = new Date();
    
            for(int i = 0; i < 10000000; i++) {
                updateText(pattern, TEST_STRING);
            }
    
            System.out.println(new Date().getTime() - d.getTime());
    
        }
    
        public static String updateText(Pattern pattern, String str) {
            StringBuffer updatedText = new StringBuffer();
            Matcher matcher = pattern.matcher(str);
            while(matcher.find()) {
                String group = matcher.group();
                StringBuilder replacement = new StringBuilder();
                replacement.append("<").append(group).append(">");
                matcher.appendReplacement(updatedText, replacement.toString());
            }
            matcher.appendTail(updatedText);
            return updatedText.toString();
        }
    
    }
    
    

    1.4.2013 22:01 R
    Rozbalit Rozbalit vše Re: JAVA - rozdelit slovo na pismena
    Sorac, samozrejme v teste ma byt kompilacia patternu pred prvym Date d = new Date(); Vysvetlenie ale plati. Na priklade a na mojej masine 7 sekund (dlha fkcia) vs 4 sekundy (1 riadkovy replaceAll).
    1.4.2013 22:20 R
    Rozbalit Rozbalit vše Re: JAVA - rozdelit slovo na pismena
    7 sekund replaceAll vs 4 sekundy dlha fkcia.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.