2016-02-06 2 views
0

У меня есть следующий код:StartsWith() не работает должным образом с символом «§»

String checkMessage = Arrays.stream(event.message.getFormattedText().split(" ")).filter(word -> !word.startsWith("§") || word.startsWith("§f")).collect(Collectors.joining(" ")); 
System.out.println(checkMessage); 

К сожалению, с некоторым тестированием, он появляется строка содержит слово, начинающееся с «§», но не «§f» в выход.

§r§928 §r§r§c§lTITAN §r§eSimplyAnon§r §ftest§r 

Как это происходит?

+0

Я вижу слово, содержащее '§ 'в выводе. Исключены ли другие подобные слова? – Vulcan

+0

Не исключены слова, моя цель состояла в том, чтобы исключить слова, начинающиеся с «§», но не «§f» – Anon10W1z

+0

Хмм, мой тестовый прогон работает: http://ideone.com/cgQc3O – Vulcan

ответ

2

Скорее всего, ваш исходный файл java имеет другую кодировку по сравнению с тем, что используется компилятором. Используйте во время компиляции javac -encoding <source_file_encoding> (например, javac -encoding utf8, если ваш исходный файл UTF-8) или сохраните исходный файл, используя стандартную кодировку системы.

+0

Уже решен, но спасибо! – Anon10W1z

Смежные вопросы