Мой вопрос касается проверки строки на недопустимые символы, и если они содержат, заменить их.

В качестве примера у меня есть строка SK5IU0K, которую нужно разделить на (возможно) две строки. Итак, у нас есть SK5I и U0K.

В этом примере я хотел бы проверить, содержит ли вторая часть «0», и заменить его на «O». И в первой части проверьте, есть ли оно, я заменяю его на «1».

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

Эта проверка предназначена для автомобильных номеров Великобритании, которые должны соответствовать определенному правилу.

https://en.m.wikipedia.org/wiki/Vehicle_registration_plates_of_the_United_Kingdom,_Crown_dependencies_and_overseas_territories

-2
user6105633 21 Апр 2016 в 16:13

2 ответа

Лучший ответ
vin = vin.substring(0, 4).replaceAll("I", "1") + vin.substring(4).replaceAll("0", "O");
0
Fernando Miguélez 21 Апр 2016 в 13:23

Оформить заказ String.replace ( char oldChar, char newChar)

public static String validateCarPlate(String plate) {
    return plate.replace('0', 'O').replace('I', '1');
}
0
Bene 21 Апр 2016 в 13:26