Имя: Пароль:
1C
1С v8
Регулярные выражения
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". Но уверен, что можно найти и контрпример для этого уточнения
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший