Есть ли какая-либо функция для удаления (& ldquo;, & rdquo;) в моем коде [дубликата]

Оригинальный вопрос хочет, чтобы XYZ / ABC / (* файлы) стали ABC / ABC / (* файлами). После выполнения принятого ответа для моего собственного кода я заметил, что он фактически изменяет XYZ / ABC / (* файлы) в ABC / (* файлы). Страница man filter-branch даже говорит:

Результат будет содержать этот каталог (и только это) в качестве его корня проекта . "

Другими словами, он продвигает папку верхнего уровня «вверх» на один уровень. Это важное различие, потому что, например, в моей истории я переименовал папку верхнего уровня. Продвигая папки «вверх» на один уровень , git теряет непрерывность в commit, где я сделал переименование.

I lost contiuity after filter-branch [/g1]

Тогда мой ответ на вопрос состоит в том, чтобы сделать 2 копии репозитория и вручную удалите папку (ы), которую вы хотите сохранить в каждой странице. man-страница поддерживает меня следующим образом:

[...] избегать использования [этой команды], если достаточно простого синтаксиса для исправления вашей проблемы

0
задан Murat Karagöz 30 March 2019 в 21:46
поделиться

3 ответа

Постройте эту строку, используя StringJoiner :

int[] number = {10, 20, 30, 40, 50};

StringJoiner joiner = new StringJoiner(",");
for (int numb : number)
    joiner.add(String.valueOf(numb));
String s = joiner.toString();

System.out.println(s); // prints: 10,20,30,40,50
0
ответ дан Andreas 30 March 2019 в 21:46
поделиться

Да. Самым простым способом будет традиционный цикл for;

int[] number = {10, 20, 30, 40, 50}; 

for (int i = 0; i < number.length; i++) {
    if (i != 0) {
        System.out.print(",");
    }
    System.out.print(number[i]);
}

Вы также можете использовать StringJoiner или конкатенацию потока. Но это было бы сложнее, чем просто использовать обычный цикл for, как описано выше.

0
ответ дан Elliott Frisch 30 March 2019 в 21:46
поделиться

Есть несколько способов справиться с этим.

Вы можете использовать «руководство» для цикла:

for (int i = 0; i < number; ++i) {...

... и затем рассматривать случай, когда i + 1 == number.length, как особый случай.

Вы также можете использовать IntStream , отобразить это на Stream, используя mapToObj, а затем собрать этот поток, используя Collectors.joining(",") :

[111 ]

Но, вероятно, самый простой способ - использовать Arrays.toString(int[]) . Это создаст строку с пробелом после каждой запятой, но затем вы можете сделать replaceAll(" ", ""), чтобы удалить это.

0
ответ дан yshavit 30 March 2019 в 21:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: