Run Code
|
API
|
Code Wall
|
Users
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Blog
Hacer doble split en Java y obtener dos conjuntos de valores
Language:
Ada
Assembly
Bash
C#
C++ (gcc)
C++ (clang)
C++ (vc++)
C (gcc)
C (clang)
C (vc)
Client Side
Clojure
Common Lisp
D
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
Javascript
Kotlin
Lua
MySql
Node.js
Ocaml
Octave
Objective-C
Oracle
Pascal
Perl
Php
PostgreSQL
Prolog
Python
Python 3
R
Rust
Ruby
Scala
Scheme
Sql Server
Swift
Tcl
Visual Basic
Layout:
Vertical
Horizontal
//https://es.stackoverflow.com/q/100505/127 import java.util.ArrayList; import java.util.regex.Pattern; import java.util.regex.Matcher; import java.util.Iterator; class Rextester { public static void main(String args[]) { //entrada String str="Respuesta1_10|Respuesta2_50|Respuesta4_90|Respuesta5_33"; //salida ArrayList<String> splitUno = new ArrayList<String>(), splitDos = new ArrayList<String>(); //regex Matcher matcher = Pattern.compile("(?<rta>[^|_]+)_(?<status>[^_|]+)") .matcher(str); //popular los 2 arrays while (matcher.find()) { splitUno.add(matcher.group("rta")); splitDos.add(matcher.group("status")); } //--- //Iterar de nuevo en el momento de imprimir Iterator<String> itUno = splitUno.iterator(), itDos = splitDos.iterator(); while (itUno.hasNext() && itDos.hasNext()) { System.out.println(itUno.next() + "\n" + itDos.next() + "\n\n"); } } }
[
+
]
Show input
Compilation time: 0.95 sec, absolute running time: 0.17 sec, cpu time: 0.16 sec, memory peak: 18 Mb, absolute service time: 1,13 sec
fork mode
|
history
Respuesta1 10 Respuesta2 50 Respuesta4 90 Respuesta5 33