Esta pregunta ya tiene una respuesta aquí:
Tengo las siguientes líneas :
valor1=cadena.split("|")[0];
valor2=cadena.split("|")[1] ;
Эмбарго греха, estoy obteniendo null
, доблесть lo que quiere decir que no estoy obteniendo ningún al hacer el split.
Он intentado lo mismo pero подставляет кому:
valor1=cadena.split(",")[0];
valor2=cadena.split(",")[1] ;
Y esto sí funciona.
Привет друг я рекомендую тебе это делать:
, Чтобы делать split в java используя как patr¦n separaci¦n carÃ: cter специальный ".", "$", etcâ ¦ мы Должны использовать carÃ: cteres утечки "\" как префикс.
Код:
String[] palabras = cadena.split("\\.");
В твоем случае был бы чем-то как это:
valor1=cadena.split("\\|")[0];
valor2=cadena.split("\\|")[1] ;
В этом соединении поможет тебе также:
Ты должен использовать
valor1=cadena.split("\\|")[0];
método split(String regex)
использует регулярный expresi¦n, тогда ты должен убегать |
, или отделяешь из-за "совсем не или совсем не".
Благодаря тому, что método split
из класса java.lang.String
получает, во-первых, регулярный expresi¦n, carÃ: cter |
(не убегая) считается оператора чередования . 1
â Без утечки
"a|b||d".split("|") ⇒ ["a", "|", "b", "|", "|", "d", ""]
â С утечкой
Из ahà - что было необходимо убегать |
с \
. А именно:
"a|b||d".split("\\|") ⇒ ["a", "b", "", "d"]
â Без l¦-mite
Тем не менее, quizÃ: s будьте mÃ: s подходящий определять l¦-mite. Например, без l¦-mite определенный:
"a|||".split("\\|") ⇒ ["a"]
â С l¦-mite (-1
)
"a|||".split("\\|", -1) ⇒ ["a", "", "", ""]
Замечаний
Возможно хранить в array элементы, отделенные pipe |
посредством .split (" \\| ") :
String cadena = "Mike|Irina|John|Mary|Joseph";
String[] valores = cadena.split("\\|");
или посредством .split (Pattern.quote (" | ")) :
String[] valores = cadena.split(Pattern.quote("|"));
, чтобы получать Вашу стоимость
String valor1 = valores[0]; //valor Mike
String valor2 = valores[1]; //valor Irina
String valor3 = valores[2]; //valor John
String valor4 = valores[3]; //valor Mary
String valor5 = valores[4]; //valor Joseph
También, ты можешь получать прямо стоимость цепи этой формы:
String valor1 = cadena.split("\\|")[0]; //valor Mike
String valor2 = cadena.split("\\|")[1]; //valor Irina
String valor3 = cadena.split("\\|")[2]; //valor John
...
или посредством .split(Pattern.quote("|"))
:
String valor1 = cadena.split(Pattern.quote("|"))[0]; //valor Mike
String valor2 = cadena.split(Pattern.quote("|"))[1]; //valor Irina
String valor3 = cadena.split(Pattern.quote("|"))[2]; //valor John
...
...
В отличие от:
String[] valores = cadena.split(",");
, который может осуществляться, не реализовывая утечки характера ","
, так как это не специальный характер.
Pattern.quote()
- несомненно opció n, чтобы использовать.
– Mariano
07.04.2017, 06:12
Я ты recomendar¦ - в remplazar ты "\" из-за"," с método повторно нравься java.lang. String, quédandote немного как это:
String cadenaN = cadena.replace("\\\",",");
valor1=cadenaN.split(",")[0];
valor2=cadenaN.split(",")[1];
Или делать ему c¦mo они показывают наверху.