Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Java
You last visited: Today at 12:00

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Kleines Logikproblem! Parsen einer .CVS [Java]

Discussion on Kleines Logikproblem! Parsen einer .CVS [Java] within the Java forum part of the Coders Den category.

Reply
 
Old   #1
 
Crossside's Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 2,095
Received Thanks: 506
Kleines Logikproblem! Parsen einer .CVS [Java]

Hey,
Ich versuche zur Zeit eine .csv Datei zu parsen (eine Game Datenbank), und hierbei sind die einzelnen Werte durch ein "," getrennt.
Nun habe ich jedoch ein Problem..und zwar ist in jeder Zeile der Name eines Items vorhanden, und ich Parse die .csv indem ich sie an den "," splitte und in Arrays packe. Jedoch habe ich nun das Problem das in manchen Itemnamen ebenfalls ein "," drine steckt, was mir die ganze Zuordnung zusammenbrechen lässt, so das die Werte in die falschen Array-Stellen landen und mir alles mit zig Exceptions zubombt.

Beispiel csv:

Code:
id,name,buy_price,sell_price
0,"Hells Sword, of Dark",300,506
1,"Darkness of Evil",304,283
2,"Beispiel Schwert des Grauens",394,384
Ich Parse das ganze nun indem ich jeweils Zeile für Zeile durchgehe in einer Schleife, und dann jeweils die Zeile Splitte an den "," und in ein Array packe.
Im Beispiel sieht bei beim "Hells Sword, of Dark" sehr gut -> Das zerstört alles n meinem Konzept.

Splitten tue ich die Zeilen mit:
Code:
public static String[] SplitItem(String db_handle)
{
  String[] DBItem = db_handle.split(",");
  return DBItem;
}
Und wenn nun so ein "Böses Item" kommt was ein Kommata im Name hat, dann wird die Array Zuordnung falsch gemacht.
Und an dem Punkt wo ich dann die Zahlen mit parseInt() parse, fällt mir alles mit Exceptions um die Ohren.. selbst wenn ich die Exception abfangen würde, würde das aber nichts helfen da ja das ganze Array Layout dadurch auseinander gewürfelt wird.

Gibt es da irgendwelche Lösungsansätze wie ich das ganze regeln könnte?
Das ganze ist eine Datenbank die über 25.000 Item´s drine hat, und da kann ich auch nicht Manuell nachbesser dafür.. das ist zu aufwändig da die Datenbank regelmäßig von einem Server runtergeladen wird zum Aktulisieren.
Wie könnte man sowas Lösen ohne das einem alles mit Exceptions auseinanderfällt?

Grüße
Crossside is offline  
Old 08/26/2014, 00:22   #2

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
java.lang.String.split() kann reguläre Ausdrücke verarbeiten, also würde ich es entweder so machen oder über einen Regex-Matcher einen simplen Ausdruck schreiben (([0-9]+),(".+"),([0-9]+),([0-9]+)) und dessen Gruppen auswerten.

Google ergibt diese Stackoverflow-Antwort:
snow is offline  
Thanks
1 User
Reply

Tags
arrayproblem, cvs, exception, parsen


Similar Threads Similar Threads
Java parsen
04/29/2013 - General Coding - 3 Replies
Hey, das Programm ist cmd basiert und soll nach ablauf der falschen PIN eingabe eine PUK eingabe veranlassen. Dies ist bereits programmiert. Jedoch soll nun mithilfe von interger.parseInt nach falscher PIN eingabe und korrekter PUK eingabe in die Variable Pinok ein neuer Wert geschrieben werden. Jedoch nur , wenn eben vorhergegangenes geschehen ist. Wie stelle ich das am besten an ? import java.io.*; //Importiert die java.io.* Bibliothek public class PIN_PUK { // Deklaration der...
Java Problem mit einer Methode
10/21/2011 - General Coding - 4 Replies
Hi, ich habe hier ein Problem mit der Methode umdrehen... sie funktioniert nicht und ich weiß nicht was man da noch machen könnte public class Zahlenarray { private int zahlen; public Zahlenarray() { zahlen = new int; for(int i = 0; i<5;i++) { zahlen = (int)(Math.random()*10+0);
Kleines Skript Problem mit (java,python)
08/09/2010 - General Coding - 1 Replies
Also es geht um eine instanz sozusagen, die ab lvl 10 einen npc spawnen lassen soll, aber mit lvl 7 kriegt der server riesen lags bis zum absturz. Hier mal der text: # author theOne import sys from java.lang import System from L2j.Infinity import Config from L2j.Infinity import L2DatabaseFactory
JAVA mit d2nt-> kleines Problem
05/03/2010 - Diablo 2 - 0 Replies
Hi, Habe mir das Script für die JAVA gehoöt und steh vor einen Problem. ALSO weiss einfach nicht wo ich einstell das wenn die speere alle sind in die stadt geht und nachfüllt! is hier zwar beschrieben i removed that function because i wanted to know if that was the cuase of the error. in the NTAttacl, find IsValidMonster and remove the // from Code:
Hilfe bei einer Java Aufgabe
11/11/2006 - General Coding - 4 Replies
Denke mal hier kennen sich auch ein paar mit dem programmieren einer Java Aufgabe aus ;) Komme leider an einer stelle nicht weiter, daher versuch ich es mal hier public class hallo { public static void main&#40;String&#91;&#93; args&#41; { TextIO.putln&#40;&#34;Bitte geben sie einen der folgenden Laendercodes ein&#58; A=Austria, D=Deutschland, F=Frankreich, G=Groábritanien I=Italien oder M=Malle&#34;&#41;;



All times are GMT +1. The time now is 12:00.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.