[Java] Strings aus String erstellen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Mr. Mouse, 2. November 2009 .

  1. 2. November 2009
    Strings aus String erstellen

    Folgendes Problem:

    Ich habe einen String mit diesem aufbau: "g": "wert1", "h": "wert2", usw

    wie kann ich nun mit java bestimmte werte (z.B. wert10) rausfiltern ?
     
  2. 2. November 2009
    AW: Strings aus String erstellen

    Also du brauchst zuerstmal ein paar Integer Werte mit Zeichen wo man die Strings unterscheiden kann.
    BSP:

    String Admin assword
    Stelle 0123456789...
    Also dann guckst du an welcher Stelle sich der ":" befindet und kannst dann ab dem Wert bis zum Schluss bsp alles abspeichern..

    Hab mal sowas gecodet um aus nem String im Format "192.168.178.25" jeden einzelnen IP Block einzeln als INT abzuspeichern da kannste mal reinschauen!::

    Code:
     // String = 192.168.178.25
     // Positionen 01234567890123 Punkte bei 3,7,11
     int index1 = IP.indexOf(".", 0); // Erste Position des Punktes
     int index2 = IP.indexOf(".", index1 + 1);// Zweite Postition des Punktes
     int index3 = IP.indexOf(".", index2 + 1); // Dritte Postition des
     // Punktes
     // String = 192.168.178.25
     block1 = Integer.parseInt(IP.substring(0, index1));
     block2 = Integer.parseInt(IP.substring(index1 + 1, index2));
     block3 = Integer.parseInt(IP.substring(index2 + 1, index3));
     block4 = Integer.parseInt(IP.substring(index3 + 1));
     System.out.println("calculated IP=" + block1 + "." + block2 + "."
     + block3 + "." + block4);
    
     
  3. 2. November 2009
    AW: Strings aus String erstellen

    nein damit kann ich das irgendwie nicht. ich versuche mich gerade übungsweise an einem youtubedownloader.. da bekomme ich nun so eine zeile, aus welcher ich aber nur bestimmte werte brauche:

    Code:
    'SWF_ARGS':{"rv.7.length_seconds":"228","rv.6.author":"ArtisanNewsService","rv.0.length_seconds":"511","rv.4.thumbnailUrl":"http%3A%2F%2Fi2.ytimg.com%2Fvi%2F-WXGEn120pM%2Fdefault.jpg","fmt_url_map":"34%7Chttp%3A%2F%2Fv1.lscache7.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D903900%252C904012%26algorithm%3Dthrottle-factor%26itag%3D34%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1257206400%26key%3Dyt1%26signature%3D1CF65226E72B8EF2EC05D7A54199203F700C565E.0C414961175905524850C034A5BBFFB872265234%26factor%3D1.25%26id%3D325ecef137dcfcf0%2C5%7Chttp%3A%2F%2Fv6.lscache8.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D903900%252C904012%26algorithm%3Dthrottle-factor%26itag%3D5%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1257206400%26key%3Dyt1%26signature%3DD3232D20E8EEFC12C2EA2460E7F16AF82C7F78F1.5A3C1EEB532EB27127C7CC5770FCE558EDB88E30%26factor%3D1.25%26id%3D325ecef137dcfcf0","keywords":"Ocala%2Cmetalcore%2Cpost-hardcore%2Chard%2Crock%2Cindie%2Cmusic_video%2Cmusic%2Cvideo%2Cunderoath%2Cwriting%2Cwalls%2CKrankTV","rv.1.url":"http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DD01t_NpVJpQ","rv.3.rating":"4.88070456365","invideo":"True","tk":"qDeqM6WOkr0jg4UTnI71pZ3ONS8qy6J6zEoV_1m77CqzfWfWasdVZw%3D%3D","rv.5.url":"http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dxu7aF_df6WU","rv.6.length_seconds":"204","ad_host":"ca-host-pub-1480745103456657","mpu":"True","rv.0.thumbnailUrl":"http%3A%2F%2Fi4.ytimg.com%2Fvi%2FGN57SsrZeQI%2Fdefault.jpg","rv.7.author":"chaserrr","rv.5.view_count":"2148621","rv.1.length_seconds":"222","rv.3.id":"7ltV-3IuDa8","rv.2.id":"1uin8Cphh1U","rv.2.length_seconds":"276","t":"vjVQa1PpcFMDHI6OR8XkP9enFvd4EvIDHH0vj-G02X4%3D","fexp":"903900%2C904012","allow_embed":"1","rv.2.rating":"4.85448613377","rv.6.title":"EVERY+TIME+I+DIE+AND+UNDEROATH+AT+2006+WARPED+TOUR+AT+KEY+CL","ad_logging_flag":"1","rv.1.thumbnailUrl":"http%3A%2F%2Fi1.ytimg.com%2Fvi%2FD01t_NpVJpQ%2Fdefault.jpg","length_seconds":"243","rv.4.url":"http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D-WXGEn120pM","rv.4.title":"UNDEROATH-++Too+Bright+to+See+Too+Loud+to+Hear","rv.5.thumbnailUrl":"http%3A%2F%2Fi1.ytimg.com%2Fvi%2Fxu7aF_df6WU%2Fdefault.jpg","watermark":"http%3A%2F%2Fs.ytimg.com%2Fyt%2Fswf%2Flogo-vfl106645.swf%2Chttp%3A%2F%2Fs.ytimg.com%2Fyt%2Fswf%2Fhdlogo-vfl100714.swf","rv.0.title":"UnderOath+-+A+Boy+Brushed+Red+Living+in+Black+and+White","rv.3.url":"http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D7ltV-3IuDa8","rv.7.url":"http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DEE3hkZSlZ5s","rv.2.view_count":"1127093","rv.4.view_count":"39636","ad_module":"http%3A%2F%2Fs.ytimg.com%2Fyt%2Fswf%2Fad-vfl127675.swf","rv.1.view_count":"1430320","rv.5.title":"Underoath","rv.1.title":"The+Devil+Wears+Prada+-+%22Hey+John%2C+What%27s+Your+Name+Again%3F%22","rv.3.length_seconds":"239","rv.5.author":"lightsay","rv.2.thumbnailUrl":"http%3A%2F%2Fi2.ytimg.com%2Fvi%2F1uin8Cphh1U%2Fdefault.jpg","rv.0.url":"http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DGN57SsrZeQI","rv.0.view_count":"2116425","enablecsi":"1","rv.2.title":"Underoath+-+Some+Will+Seek+Forgiveness%2C+Others+Escape","rv.4.rating":"4.80303030303","rv.3.view_count":"556784","mpvid":"AAR3ZqYEjgLC5Bnc","cr":"DE","rv.6.thumbnailUrl":"http%3A%2F%2Fi4.ytimg.com%2Fvi%2FGdRcdDZmn0g%2Fdefault.jpg","host_language":"de","rv.7.id":"EE3hkZSlZ5s","rv.0.rating":"4.84228432564","rv.5.id":"xu7aF_df6WU","rv.0.id":"GN57SsrZeQI","cafe_experiment_id":"","rv.0.author":"lukeisaliar","rv.3.thumbnailUrl":"http%3A%2F%2Fi4.ytimg.com%2Fvi%2F7ltV-3IuDa8%2Fdefault.jpg","rv.2.author":"LeMoNaDe777","rv.6.url":"http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DGdRcdDZmn0g","fmt_map":"34%2F0%2F9%2F0%2F115%2C5%2F0%2F7%2F0%2F0","hl":"de","rv.5.length_seconds":"246","ad_channel_code_overlay":"invideo_overlay_480x70_cat10%2Cafv_overlay%2Cafv_user_blanktv%2CVidVert584%2CVidVert617%2Cyt_mpvid_AAR3ZqYEjgLC5Bnc%2Cytexp_903900.904012","rv.6.id":"GdRcdDZmn0g","rv.6.view_count":"116222","rv.3.author":"volcom801","rv.4.id":"-WXGEn120pM","video_id":"Ml7O8Tfc_PA","rv.4.author":"altitudetv","rv.7.thumbnailUrl":"http%3A%2F%2Fi2.ytimg.com%2Fvi%2FEE3hkZSlZ5s%2Fdefault.jpg","ad_host_tier":"31595","vq":"medium","rv.7.title":"Underoath+-+Writing+On+The+Walls+%2ADrums+Only%2A+8.28.07","rv.1.id":"D01t_NpVJpQ","rv.4.length_seconds":"86","rv.7.view_count":"697132","rv.3.title":"Underoath-+A+moment+suspended+in+time","plid":"AAR3ZqYEZcXt10TF","afv":"True","rv.5.rating":"4.7225647349","ad_tag":"http%3A%2F%2Fad-emea.doubleclick.net%2Fpfadx%2Fcom.ytpwatch.music%2Fmain_81%3Bsz%3DWIDTHxHEIGHT%3Bmpvid%3DAAR3ZqYEjgLC5Bnc%3B%21c%3D81%3Bk2%3D584%3Bk2%3D617%3Bytexp%3D903900.904012%3Bk3%3D584%3Bklg%3Dde%3Bkvid%3DMl7O8Tfc_PA%3Bkpu%3DBlankTV%3Bkr%3DA%3Bkt%3DK%3Bko%3Dp%3Bkpid%3D81%3Bkga%3D-1%3Bu%3DMl7O8Tfc_PA%7C81%3Bk4%3D617%3Bkgg%3D-1%3Bkcr%3Dde%3Bafv%3D1%3Bkhd%3D0%3Bdc_dedup%3D1%3Bshortform%3D1%3B","ad_video_pub_id":"ca-pub-6219811747049371","rv.1.author":"BlankTV","rv.1.rating":"4.72990990991","rv.7.rating":"4.84057971014","rv.2.url":"http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D1uin8Cphh1U","sw":"0.05","rv.6.rating":"4.59016393443","sk":"vSYTlUi9TbZz82TGLnSZszen2S8HQ9pRC"},
    
     
  4. 2. November 2009
    AW: Strings aus String erstellen

    Naja es gibt doch die Methode split() in der String-Klasse. Kanns grade net testen, sollte so in der Art gehen:

    Code:
    String foo = "das:ist,ein:test";
    String[] foo_split = foo.split(",");
    Dann hast du ein Array (foo_split), das so aussieht:

    Code:
    foo_split[0] = "das:ist"
    foo_split[1] = "ein:test"
    Wenn du das ganze dann wieder anhand von ":" splittest, kommst du an die einzelnen Strings..

    //

    Ich seh grade, dass String.split() mit regulären Ausdrücken arbeitet. Beim "," ist das kein Problem, aber spezielle Zeichen musst du mittels \\ escapen, beispielsweise den Punkt: foo.split("\\.");.
     
  5. 3. November 2009
    AW: Strings aus String erstellen

    tach, der string den du da hast is im JSON-format, such dir einfach nen parser und fertig.
     
  6. 3. November 2009
    AW: Strings aus String erstellen

    und es würde trotzdem mit meiner Methode klappen!

    Du brauchst ja nicht nur nach einfachen Zeichen zu suchen, wie in meinem Beispiel!
    Sondern kannst auch so suchen:
    Code:
     int index1 = IP.indexOf("length_seconds", 0); 
    
    Dann musst du n och ein paar Stellen dazu addieren damit du auf den richtigen Wert beispielsweise kommst..
     
  7. 3. November 2009
    AW: Strings aus String erstellen

    einfach
    Code:
    String text="der text von oben";
    String tempString;
    tempString=text.substring(text.indexOf("rv.1.url"));
    String rv1url=tempString.substring(tempString.indexOf(":")+2, tempString.indexOf(",")-1);
    
    bei vielen werten die du brauchst einfach nen Stringarray, schleife mit ner switch case abfrage von den jewiligen werten die du wissen willst....fertig

    also so ungefähr
    Code:
     int werteAnzahl=12;
     String[] werteArray=new String[werteAnzahl];
     String tempString,wert;
     for (int i=0;i<werteAnzahl;i++) {
     switch(i) {
     case 0: wert="rv.1.url";
     break;
     case 1: wert="rv.0.length_seconds";
     break;
     //usw
     }
     tempString=text.substring(text.indexOf("rv.1.url"));
     werteArray[i]=tempString.substring(tempString.indexOf(":")+2, tempString.indexOf(",")-1);
     }
    
    noch einfacher wärs nen parser zu besorgen
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.