Как удалить запятую из строки (Java) - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть массив, который я использую для каждого l oop для итерации. Затем я сохраняю его в строке, а затем пытаюсь добавить к нему запятую, но я изо всех сил пытаюсь найти решение на основе «logi c».

Я почти близок к значению Java на 1 год, поэтому большинство решений, которые я пытаюсь найти, в основном основаны на логических c (пока), так как это кроме курса Java MOO C. Какие варианты я могу посмотреть? Что мне не хватает?

for(int number: array){
    String thread = "";
    thread += number + ", ";
    System.out.print(thread);
}

Ответы [ 4 ]

1 голос
/ 24 апреля 2020

Вы можете использовать Stream для достижения этого результата.

System.out.println(Arrays.stream(array).collect(Collectors.joining(",")));
0 голосов
/ 24 апреля 2020

Если у вас есть строка, заканчивающаяся запятой, за которой следуют ноль или более пробелов, вы можете сделать следующее. String.replaceAll() использует regular expression для обнаружения заменяемой детали.

  • \\s* означает 0 или более пробелов
  • $ означает в конце строки
String str = "a, a, b,c, ";
str = str.replaceAll(",\\s*$","");

Печать

a, a, b,c

0 голосов
/ 24 апреля 2020

Что мне нравится делать, когда я просто делаю что-то простое и быстрое, так это:

String thread = "";
for (int i = 0; i < array.length; i++) {
    int number = array[i];
    thread += number;
    if (i < array.length - 1) {
        thread += ", ";
    }
}

В основном все, что он делает, это проверяет, что мы не в последнем индексе, и добавляем только запятую если это не последний индекс. Это быстро, просто и не требует никаких других классов.

0 голосов
/ 24 апреля 2020

Я не уверен, ограничения этого проекта для вашего курса, но если вы можете, попробуйте StringJoiner ! Он автоматически добавит разделитель для разделения элементов, которые к нему добавляются. Еще одно замечание, я думаю, что вы захотите объявить свою String вне вашей для l oop. в противном случае он сбрасывает каждую итерацию.

StringJoiner joiner = new StringJoiner(",");
for(int number : array){
 joiner.add(String.valueOf(number));
}
     System.out.print(joiner.toString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...