2017-02-01 4 views
0

Ich habe diese große Zeichenfolgevon Teilen

String vStr = "('1','uno'),('2','dos'),('3','tres'),('4','cuatro')...('1000000','one millon')" 

wenn ich die Verwendung

vStr.split('),(') 

i in einen Fehler outOfMemory Ausnahme haben string.split

Wie kann ich einen Split machen? aber zu 500 Teilen zu der Zeit?

+1

Wahrscheinlich gibt es eine bessere Gesamtlösung für das, was Sie hier erreichen wollen. Was genau planst du mit den Stücken dieser Saite zu machen (ob alle auf einmal oder 500 auf einmal)? – CommonsWare

Antwort

1

Wenn Sie die Anzahl der resultierenden Teile einschränken möchten, fügen Sie einfach die gewünschten Teile als zweites Argument der split() -Methode hinzu.

vStr.split('),(', 500) 

Und vielleicht tun Sie dies jedoch, wie oft Sie in einer Schleife oder so etwas brauchen.

+0

Dank perfekte Antwort, übrigens, ich beende die Verwendung der StringUtils von Apache commons-lang3, die Methode StringUtils.splitByWholeSeparator, diese Methode funktioniert schnell, und nicht die outofmemoryexception geworfen – seba123neo