Как преобразовать строку значений в массив? - PullRequest
2 голосов
/ 02 марта 2020

У меня есть строка, ie 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17. Как получить каждое значение и преобразовать его в массив? [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]. Я не могу найти какие-либо предложения об этом методе. Может помочь? Я попытался использовать регулярное выражение, но оно просто удаляет ',' и превращает строку в одно длинное предложение с неразличимым значением. Идеально ли получить значение до и после ',' с помощью регулярного выражения и поместить его в []?

Ответы [ 6 ]

9 голосов
/ 02 марта 2020

Вы можете использовать следующее решение

String dummy = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17";
String[] dummyArr = dummy.split(",");
1 голос
/ 02 марта 2020

Java предоставляет метод Split с аргументом regex для управления строками.

Следуйте этому примеру:

String strNumbers= "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17";
String[] strNumbersArr= strNumbers.split(",");

Вы можете преобразовать массив строк в массив целого числа с потоками

int[] numbersArr =  Arrays.stream(strNumbersArr).mapToInt(Integer::parseInt).toArray();
1 голос
/ 02 марта 2020

Попробуйте преобразовать строку в массив целых чисел.

String baseString = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17";
String[] baseArray = baseString.split(",");

int[] myArray = new int[baseArray.length];
for(int i = 0; i < baseArray.length; i++) {
    myArray[i] = Integer.parseInt(baseArray[i]);
}
0 голосов
/ 02 марта 2020

, если вы хотите массив int

        String s = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17";
        String[] split = s.split(",");
        int[] result = Arrays.stream(split).mapToInt(Integer::parseInt).toArray();
0 голосов
/ 02 марта 2020

См. Рабочий пример

String csv = "Apple, Google, Samsung";

String[] elements = csv.split(",");
List<String> fixedLenghtList = Arrays.asList(elements);
ArrayList<String> listOfString = new ArrayList<String>(fixedLenghtList);


//ouput
[Apple, Google, Samsung]
0 голосов
/ 02 марта 2020

Используйте String.split (), и вы получите нужный массив.

String s1="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17";  
String[] mumbers=s1.split(",");    //splits the string based on comma

for(String ss:numbers){  
    System.out.println(ss);  
}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...