Проверка в слове
есть два варианта записи фразы
ТЛИШ.363613.299-27
Мне нужно, чтобы если после ТЛИШ нет ".", она вставилась в фразу. После точки может быть любое число, но именно число.
Правильный результат:
ТЛИШ 363613.299-27
или
ТЛИШ363613.299/27
или
ТЛИШ.363613.299/27
или
ТЛИШ 363613.299/27
или
ТЛИШ,363613.299/27
итд...
С удовольствием написала бы, если бы знала как.;)
Со строками (в чистом виде) общаюсь впервые. Многие функции не знаю. Все по БД специализируюсь.
Если можете, подскажите. Тупо информацию не воспринимаю. Все равно пытаюсь в ней разобраться и использовать.:)
ТЛИШ/ГОСТ/ОСТ/ТУ.
Напр.
ТЛИШ.000000.000-00
или
ТЛИШ.999999.999-99
Если в формате 9-ки, то это означает, что там должно быть какое-то количество цифр.
Если нули, то это означает, что должно быть ровно столько цифр. Это дает тот плюс, что если нет точного количества цифр, то ту строку можно отметить как ошибочную.
После того, как есть формат всех спец. лексем, можно определить входной альфавит автомата и состояния. Но это уже второй шаг.
Но все равно, а как такое осуществить?
С ТЛИШ это еще как-то можно, там, действительно, определенное кол-во знаков. А вот с остальными форматами - очень спорный вопрос. Тут шаблон установить нельзя. Я столько разных записей за свою инженерную деятельность повидала.
Но все равно, а как такое осуществить?
Какие-то правила должны быть. От того что пишут по-разному, еще можно если не один, то 2-3 формата определить. Ведь может быть такое, что сперва идет номер, а за ним слово ТЛИШ/ГОСТ...
На счет только ТЛИШ
Входной альфавит
буква Т
буква Л
буква И
буква Ш
все остальные буквы
цифры
пробел
символы препинания .,/-
Состояний где-то 7. Могу чуть позже вечером написать матрицу переходов. Но если были бы хотя бы приблизительные форматы для всех TУ/ГОСТ..., тогда мог бы написать весь КА.
На счет приб.формата напр.
ГОСТ[возможный пробел]цифры[какой-то разделитель]цифры
и тогда
ГОСТ1235-67
ГОСТ 1235/67
ГОСТ15.67
удовлетворяют формату.
ОСТ5.6183-82
ОСТ5Р.6037-78
ОСТ16.0.526.006-79
ГОСТ РВ 1.0-98 ГСС
ГОСТ В 15.102-84
ГОСТ 2.902-68
ГОСТ РВ 8.560-95
ГОСТ 24297-87
ГОСТ 597-87
ГОСТ 2.503
Вариантов море.
Ну, например:
ОСТ5.6183-82
ОСТ5Р.6037-78
ОСТ16.0.526.006-79
ГОСТ РВ 1.0-98 ГСС
ГОСТ В 15.102-84
ГОСТ 2.902-68
ГОСТ РВ 8.560-95
ГОСТ 24297-87
ГОСТ 597-87
ГОСТ 2.503
Вариантов море.
C ОСТ/ГОСТ/ТЛИШ вопрос ясен. Остается ТУ и старое обозначение в скобках.
Кроме этого, только для ТЛИШ может оператор сперва написать код а затем слово ТЛИШ?
И
между ТЛИШ и кодом следует ставить точку.
между ГОСТ и кодом следует ставить пробел.
между ОСТ и кодом ничего не ставится.
между ТУ и кодом ...?
Подскажите, пожалуйста, как осуществить проверку в этом случае:
есть два варианта записи фразы
ТЛИШ.363613.299-27
Мне нужно, чтобы если после ТЛИШ нет ".", она вставилась в фразу. После точки может быть любое число, но именно число.
Правильный результат:
Imho, Regular Expressions (например, из библиотеки C++ Boost) спасут гиганта мысли. Там в комплекте есть примеры, как проверить на соответствие, как разобрать строку, как привести прицел к нормальному бою... блин... армия... Я хотел сказать, привести строку к нормальному виду (в данном случае, "ТЛИШ.363613.299-27").
Imho, Regular Expressions (например, из библиотеки C++ Boost) спасут гиганта мысли. Там в комплекте есть примеры, как проверить на соответствие, как разобрать строку, как привести прицел к нормальному бою... блин... армия... Я хотел сказать, привести строку к нормальному виду (в данном случае, "ТЛИШ.363613.299-27").
Спасибо. Не слышала о такой библиотеке. Обязательно буду смотреть.