- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
static String Colorize(String str) {
str = str.replace("{BLACK}", "&0");
str = str.replace("{DARKBLUE}", "&1");
str = str.replace("{DARKGREEN}", "&2");
str = str.replace("{DARKTEAL}", "&3");
str = str.replace("{DARKRED}", "&4");
str = str.replace("{PURPLE}", "&5");
str = str.replace("{GOLD}", "&6");
str = str.replace("{GRAY}", "&7");
str = str.replace("{DARKGRAY}", "&8");
str = str.replace("{BLUE}", "&9");
str = str.replace("{BRIGHTGREEN}", "&a");
str = str.replace("{TEAL}", "&b");
str = str.replace("{RED}", "&c");
str = str.replace("{PINK}", "&d");
str = str.replace("{YELLOW}", "&e");
str = str.replace("{WHITE}", "&f");
str = str.replace("{0}", "&0");
str = str.replace("{1}", "&1");
str = str.replace("{2}", "&2");
str = str.replace("{3}", "&3");
str = str.replace("{4}", "&4");
str = str.replace("{5}", "&5");
str = str.replace("{6}", "&6");
str = str.replace("{7}", "&7");
str = str.replace("{8}", "&8");
str = str.replace("{9}", "&9");
str = str.replace("{A}", "&a");
str = str.replace("{B}", "&b");
str = str.replace("{C}", "&c");
str = str.replace("{D}", "&d");
str = str.replace("{E}", "&e");
str = str.replace("{F}", "&f");
str = str.replace("&", "\u00a7");
return str;
}
2) В первой половине - использовать TableDriven.
3) Во второй половине - цикл.
ударения расставьте сами
С буквенными кодами труднее: там в правой части нужно использовать мапу и ссылаться на \1 в качестве ключа.
Не самодокументируемо и плохоподдерживаемо.
>С буквенными кодами труднее
Плохорасширяемо.
>труднее: нужно использовать мапу и ссылаться на \1 в качестве ключа.
Что же сразу код не написал? Думаю, там решение не короче будет.
Это специфика RegExp
> Что же сразу код не написал?
Код писать лень. Работа с regexp в java многословна и неудобна. Но код получится более коротким и расширяемым, "я гарантирую это" (с)
http://ideone.com/p0sba
1. Громоздкость жабокода
2. Pattern.CASE_INSENSITIVE
Потому соглашусь со сказанным выше про TableDriven и цикл.
http://govnokod.ru/8643#comment122252
Вариант, предлагаемый выше, плох тем, что в силу иммутабельности джава-строк будет создано дохрена ненужных объектов потенциально большого размера.
Просто стало интересно почему именно так, а не более короткий (?i).
Возможно на это есть незвестные мне веские причины?
http://ideone.com/PQaJY
М.б. еще 16 - заменить COLOR_LITERAL.length
O_o
http://ideone.com/FfSJm
Жабы.
мужик сказал - мужик сделал, мужик сделал - всем рассказал!