|
Регулярные выражения | ☑ | ||
|---|---|---|---|---|
|
0
Besometr
26.12.12
✎
10:30
|
Всем здрасьте!
Сразу прошу сильно не пинать, а если пинать то в нужную сторону) Есть такие строки: Настенный кондиционер (сплит-система) Mitsubishi Electric MS-GD80VB Настенный кондиционер (сплит-система) Panasonic CS-E7NKD/CU-E7NKD Пытаюсь выгрызть от туда производителя. Получается, как вы поняли, не очень( Код: ШаблонВыражения = "[^A-Z, a-z]"; RegExp = Новый COMОбъект("VBScript.RegExp"); RegExp.IgnoreCase = Ложь; RegExp.Global = Истина; RegExp.MultiLine = Ложь; RegExp.Pattern = ШаблонВыражения; ИсходящаяСтрока = RegExp.Replace(ВходящаяСтрока, ""); В самом лучшем случае получаю: Mitsubishi Electric MSGDVB Panasonic CSENKDCUENKD Как допилить выражение что бы оставить только Mitsubishi Electric Panasonic ? |
|||
|
1
Ursus maritimus
26.12.12
✎
10:32
|
Имхо, в данном случае никак. Исходи из того что производителей конечное количество и их названия известны.
|
|||
|
2
IVT_2009
26.12.12
✎
10:35
|
Разобрать по длине латинские наименования и составить словарь. Автоматизировать это не получится. У нас в производителя в скобках обычно указывают.
|
|||
|
3
Мимо Проходил
26.12.12
✎
10:35
|
В данном примере выбирать начиная с большой латинской и обрывать на двух больших латинских подряд
|
|||
|
4
IVT_2009
26.12.12
✎
10:36
|
LG не прокатит сразу. Мне кажется надо словарь сделать и ручками сопоставить. Не так и много производителей будет
|
|||
|
5
Лефмихалыч
26.12.12
✎
10:38
|
+1 к словарю, только с китайцами можно горя хапнуть - их МОРЕ
|
|||
|
6
Besometr
26.12.12
✎
10:38
|
(1) (2) Идея понятна, спасибо)
|
|||
|
7
Мимо Проходил
26.12.12
✎
10:40
|
(4) 100% не даст ни один алгоритм. Я говорил про представленные примеры. LG прокатит, если первое латинское слово брать без учета контроля на двойной "shift". Но уверен, что можно найти и контрпример для этого уточнения
|
| Форум | Правила | Описание | Секции | Поиск |