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

Я читал статьи о лучших методах кодирования, которые предлагают более опытные инженеры/разработчики программного обеспечения, и я обнаружил, что они, как правило, используют более лаконичный и читаемый код. Это не означает причудливые однострочники или постоянное использование тернарных операторов, а использование практик, понятных инженерам всех уровней. С учетом сказанного я попытался решить эту проблему с помощью однострочного LOL.

Что-то в том, чтобы правильно ответить на вопрос с помощью одной строки кода, заставляет вас чувствовать себя довольно круто. Честно говоря, поэтому я и хотел попробовать. Эта проблема связана с защитой IP-адреса (IPv4), о чем я ничего не знаю. В любом случае, это означает заменить все «.» с участием "[.]". Поскольку я изучал регулярные выражения, я решил, что это будет идеальное место для реализации того, что я узнал.

Первоначально я думал перебирать строку и добавлять каждое число, которое я видел, к новой строке. Каждый раз, когда я встречал «.», я вместо этого объединял «[.]». Просто — прямо. Я бы создал новый StringBuilder, перебрал входную строку через ее String.length() и посмотрел на String.charAt(), чтобы убедиться, что это «.». Предполагая, что в качестве входных данных принимаются только IP-адреса, он будет принимать все числа и добавлять их в построитель строк с помощью StringBuilder.append(String.charAt(i)). Как только он прочитал «.» вместо этого будет StringBuilder.append("[.]"). Наконец, он преобразует StringBuilder в строку с помощью StringBuilder.toString() и возвращает результат.

Я могу сделать это. Но я также мог бы попытаться расширить свои знания и попробовать что-то новое. Иногда я пытаюсь угадать, может ли быть какая-то встроенная в Java функция, которая могла бы делать именно то, что я хочу, и называться именно так, как вы думаете. ЗАМЕНЯТЬ. РЖУ НЕ МОГУ. Я попробовал это с параметрами, как вы обычно копируете, перемещаете или заменяете что-то. String.replace («.», «[.]»); БАМ, это действительно сработало! Немного удивленный, я пошел посмотреть использование. По сути, он перебирает всю строку, ища заданную последовательность или одиночный символ и заменяет его тем, что вы ему дали.

Укорененная в регулярном выражении, была еще одна подобная функция, называемая String.replaceAll, где она очень похожа. Единственная разница заключается в использовании escape-символов. Это то, во что я хотел бы погрузиться позже.