simbel
Новичок
Как из слова или фразы получить все возможные варианты написания?
Допустим есть такой текст - "Sony DCR DVD508E". Как сделать, чтобы скрипт составил все варианты написания этой фразы. Т.е например,
--> SonyDCRDVD508E
--> Sony DCRDVD508E
--> SonyDCR DVD508E
--> SonyDCRDVD 508E
--> SonyDCRDVD508 E
--> Sony DCR DVD508E
--> Sony DCRDVD 508E
--> Sony DCRDVD508 E
--> Sony DCR DVD 508E
--> SonyDCR DVD 508 E
и т.д.
Общую схему я вижу такой:
1) Для начала нужно разделить строку на подстроки - числовые и буквенные (из "Sony DCR DVD508E" должно получиться 5 подстрок - "Sony", "DCR", "DVD", "508", "E" ). У меня возникла сложность как из строки выделить числовые подстроки, если они не разделены пробелами.
2) Дальше тоже для меня большой вопрос, каким образом, собственно, составить вышеприведённые варианты написания. При этом последовательность подстрок в получаемых строках должна быть сохранена.
Помогите, подскажите, пожалуйста.
Допустим есть такой текст - "Sony DCR DVD508E". Как сделать, чтобы скрипт составил все варианты написания этой фразы. Т.е например,
--> SonyDCRDVD508E
--> Sony DCRDVD508E
--> SonyDCR DVD508E
--> SonyDCRDVD 508E
--> SonyDCRDVD508 E
--> Sony DCR DVD508E
--> Sony DCRDVD 508E
--> Sony DCRDVD508 E
--> Sony DCR DVD 508E
--> SonyDCR DVD 508 E
и т.д.
Общую схему я вижу такой:
1) Для начала нужно разделить строку на подстроки - числовые и буквенные (из "Sony DCR DVD508E" должно получиться 5 подстрок - "Sony", "DCR", "DVD", "508", "E" ). У меня возникла сложность как из строки выделить числовые подстроки, если они не разделены пробелами.
2) Дальше тоже для меня большой вопрос, каким образом, собственно, составить вышеприведённые варианты написания. При этом последовательность подстрок в получаемых строках должна быть сохранена.
Помогите, подскажите, пожалуйста.