Надеюсь, вы сможете помочь мне в создании алгоритма. Мне нужно, чтобы вытащить данные из строки, введенной человеком (кому-то, кому не важно, что я должен это сделать). В этой строке он задает языковые требования. Данные уже есть, поэтому, к сожалению, слишком поздно попросить пользователя ввести это правильно. Строки могут выглядеть так:Извлечение данных из очень разных строк
"English good arabic good german basic knowledges"
"good in english, a little bit german"
"english, german"
"english - very good, german - preferred"
сейчас я только хочу сосредоточиться на немецком конце английского здесь. Я хотел бы знать, что они требуются или нет, и, если возможно, насколько (возможно, по форме 1 - «немного знать» до 5 - «быть совершенным в ней»)
I подумал о том, что алгоритм разбивает строку на слова (это не проблема), а затем перебирает их, обнаруживая, что это слово означает немецкий или английский (возможно, некоторым регулярным выражением, например /(deu|ger)/Ui
и /(eng)/Ui
), а затем получение уровня требования (здесь идет сложная часть), которая должна стоять где-то в следующих или предыдущих словах (или ее вообще нет).
Есть ли у вас идеи о том, как создать такую функциональность?
Он должен работать на PHP7, но речь идет об идее алгоритма здесь, а не о реализации (пока).
Лучше, чтобы заставить последовательный ввод, чем пытаться расшифровать любые мыслимые комбинации. – AbraCadaver
Слишком поздно. База данных уже заполнена. Он не должен быть идеальным. Я просто хочу, если возможно, обнаружение. –