Программа выдает поток текстовых данных типа:
6502-030029
6300-030046
6100-04
6100-02
Задача: если последняя часть числа содержит 6 символов разделить их таким образом
6502-03-0029
6300-03-0046
Разделяете строку по -
, проверяете вторую половину на 6 символов и убираете ненужные:
static String process(String text) {
String[] parts = text.split("-");
if (parts[1].length() == 6) {
return parts[0] + "-" + parts[1].substring(0, 2) + "-" + parts[1].substring(2);
}
return text;
}
public static void main(String[] args) throws Exception {
for (String text : Arrays.asList("6502-030029", "6300-030046", "6100-04", "6100-02")) {
System.out.println(process(text));
}
}
Еще можно через регулярные выражения (в этом случае описываем шаблон строки).
.
-- любой символ. Для текущей задачи можно просто цифры искать через \d
или [0-9]
, но ради краткости шаблона использую .
-
-- просто тире -
()
-- круглые скобки служат для захвата группы символов, которые после вытаскиваем через group
Код:
static String processRegExp(String text) {
Pattern p = Pattern.compile("(....-)(..)(....)");
Matcher m = p.matcher(text);
if (m.find()) {
return m.group(1) + m.group(2) + "-" + m.group(3);
}
return text;
}
Консоль:
6502-03-0029
6300-03-0046
6100-04
6100-02
Виртуальный выделенный сервер (VDS) становится отличным выбором
Не получается обновить содержимое JTable при изменении DefaultTableModelОбщая идея такова: создается меню с тремя подпунктами - таблицами из базы данных
Возникла проблема с Android 9Использую "стандартный" класс MyDataBaseOpenHelper extends SQLiteOpenHelper С выходом андроид 9 появилась проблема android
У меня есть вопрос, не могу подключить к верстаемой странице на своем ПК шрифт neris