Я работаю над проектом, который читает файл по строкам. В этих строках может быть или не быть двухзначное шестнадцатеричное число. Например, EC, 1F, A3, 34. Линия может включать слова, цифры с одной цифрой, букву или различные другие специальные символы, все они разделены пробелами. Этот номер всегда будет находиться в том же месте в строке , если присутствует. Если он присутствует, мне нужно будет сделать что-то особенное для данных на этой строке, чем сказать, если присутствует однозначное число. Я беру строку и помещаю ее в массив, поскольку она используется для чего-то еще в программе. Что касается дизайна захвата этого числа, я планирую использовать выражение регулярных выражений и метод соответствия, чтобы захватить его из исходной строки. Это будет храниться в структуре данных где-то еще, поскольку мне также придется добавить или вычесть это позже.Захват шестнадцатеричного числа или целого числа с использованием дизайна Regex
Будет ли наиболее эффективным способом захвата этого метода использовать метод matcher.find()? Или я должен просто взять его прямо с линии, так как я точно знаю, где он будет размещен? Я хотел бы включить совпадения на случай, если пользователь сделал ошибку и был отключен одним при вводе шестнадцатеричного числа и чтобы проверить, присутствует ли этот номер. Есть немного места, чтобы дать в этом входе с обеих сторон. Я знаю, что я мог бы просто захватить массив и использовать значение индекса, где находится шестнадцатеричное число, но мне любопытно, есть ли лучше дизайн программы для планирования небольших расхождений, таких как отсутствие свободного пространства и наличие уже встроенного в вашу программу или держать это просто и жестко?
Это, как я в настоящее время захвата шестнадцатеричного числа
wordSansNumber = wordToInsert.substring(0,5);
hexaDecimalNumber = wordToInsert.substring(5,14);
justHexaDecimalFinder = hexaDecimalFinder.matcher(hexaDecimalNumber);
Если матч возвращает истину, она проходит через несколько операций.
Если вы точно знаете, где он будет размещен, просто снимите его с линии. Затем проверьте, что вы схватили, если он не прошел проверку, а затем выбросил исключение. –