Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Замена & на цветной код в списке строк

Тема в разделе "Разработка плагинов для новичков", создана пользователем _MasterCapeXD_, 23 апр 2017.

  1. Автор темы
    _MasterCapeXD_

    _MasterCapeXD_ Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    _MasterCapeXD_
    Есть ли функция, аналогична str.replace для списка строк? И если нет, то можно ли как-то это сделать через translateAlternateColorCodes?
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    _MasterCapeXD_

    _MasterCapeXD_ Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    _MasterCapeXD_
    Мне эклипс подсказывает, что str.replaceAll(arg) содержит 1 аргумент.
     
  4. iD3LSY

    iD3LSY Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    opy
    Под списком ты имеешь ввиду лист/массив?
     
  5. Автор темы
    _MasterCapeXD_

    _MasterCapeXD_ Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    _MasterCapeXD_
    Да
     
  6. iD3LSY

    iD3LSY Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    opy
    Эмм.. Так лист/массив? В массиве нельзя просто изменять. Если в листе, то там UnaryOperator и есть аргумент. Но вот я сейчас решил проверить, поэтому удалил то сообщение.[DOUBLEPOST=1492975470,1492975035][/DOUBLEPOST]
    Код:
    list.replaceAll((переменная) -> переменная.replace(текст1, текст2));
     
  7. Автор темы
    _MasterCapeXD_

    _MasterCapeXD_ Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    _MasterCapeXD_
    А не просто? Есть другой способ?
     
  8. iD3LSY

    iD3LSY Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    opy
    Читал как лямбду юзать xD[DOUBLEPOST=1492975538,1492975507][/DOUBLEPOST]
    Эмм.. Ну разве что перебирать все строки в массиве, а перед добавлением в новый массив заменять текст.
     
  9. Автор темы
    _MasterCapeXD_

    _MasterCapeXD_ Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    _MasterCapeXD_
    Так на практике получается?
    Код:
    lore1.replaceAll((str) -> str.replace("&", "\u00a7"));
     
  10. iD3LSY

    iD3LSY Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    opy
    Я все равно не понимаю о чем ты. Если lore, то да. lore это лист.

    Разве что, я бы предпочел заменять символ, а не строку + не на юникод, а на символ.
    Код:
    lore.replaceAll((str) -> str.replace('&', '§'));
     
  11. Автор темы
    _MasterCapeXD_

    _MasterCapeXD_ Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    _MasterCapeXD_
    Этот вариант не подходит. Вместо цвета, например &c не красный цвет, а ?clore[DOUBLEPOST=1492979302,1492979222][/DOUBLEPOST]
    Что так что так, проблема не пропадает
     
  12. iD3LSY

    iD3LSY Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    opy
    Эмм.. Ну ладно. Я не знаю почему, но тогда почему бы и не вернуться к юникоду?)

    Хотя тут как день очевидно, что это проблемы с кодировкой. Почему - не знаю.
     
  13. DonDays

    DonDays Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Код:
    final List<String> newList = Lists.newArrayList();
    oldList.forEach(s -> newList.add(s.replace("&", "параграф, не могу написать с планшета"));
     
  14. TheZefirrkka

    TheZefirrkka Активный участник Пользователь

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Можно просто for(String s: list) {s.replace("&", "параграф");}
     
  15. HunterGaming

    HunterGaming Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    HunterGaming13
    Лучше через лямбду
     
  16. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Не лучше. Но не хуже.
     
  17. Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    эммм, добрый день, replace не изменяет исходную строку.
     

Поделиться этой страницей