Как отделять String в Java. Как использовать split ()

Начиная с String, "123-654321", то, что я желаю, состоит в том, чтобы разделять это на двух Strings:

string1=123
string2=654321
40
задан 28.07.2017, 08:26
1 ответ

Для этого используется метод String#split() в котором ты определяешь разделитель, который в случае этой String "-".

String string = "123-654321";
String[] parts = string.split("-");
String part1 = parts[0]; // 123
String part2 = parts[1]; // 654321

Метод берет как параметр регулярное выражение. Если хочется использовать дословный разделитель, должны убегать символы \ ^ $ . | ? * + ( ) [ { предшествуя им с одной \.

String[] parts = string.split("\\|"); // Separar por "|"

Или возможно использовать метод Pattern#quote().

String separador = Pattern.quote("|");
String[] parts = string.split(separador);
54
ответ дан 03.12.2019, 17:31

Важно иметь в виду, что, реализовав .split, () первый элемент начинается в [0]

String value= "123-654321";
String[] parts = value.split("-");

System.out.println(parts[0]); //out --> 123

, Если результата не достигает разделитель, она posiciГіn [0] serГЎ равно первоначальному string

String value= "123-654321";
String[] parts = value.split("p");

System.out.println(parts[0]); //out --> 123-654321
1
ответ дан 24.11.2019, 11:27

Используя StringTokenizer: в строителе такого мы подробно описываем delimitador "-", new StringTokenizer(nombre,"-");

import java.util.StringTokenizer; 
    public class Separador
    {
      public static void main(String[] args)
      {

        String nombre="004-034556";
        StringTokenizer tokens=new StringTokenizer(nombre,"-");
        while (tokens.hasMoreTokens()) {  
             System.out.println(tokens.nextToken());  
         }  

      }
    }
9
ответ дан 03.12.2019, 17:31
  • 1
    Хотя todaví в возможно использовать этот класс и он не помечается, как обесцененная, советуется не использовать ее в generació n có я говорю для новых приложений. Шрифт: java.util.StringTokenizer: " StringTokenizer is в legacy class that is retained for compatibility reasons although its использовал is discouraged in new code." В любом случае, это другой способ получать separació n цепей. –  25.01.2017, 14:11