![]() |
![]() |
![]() |
|
v7: как убрать слово в кавычках | ☑ | ||
---|---|---|---|---|
0
curys
24.10.11
✎
10:35
|
Доброе время суток.
Подскажите, пожалуйста, как убрать слово в строке в кавычках? Например: Икра лососевая зернистая "Нерка" 1/25 чтобы получился результат: Икра лососевая зернистая 1/25 |
|||
1
Mikeware
24.10.11
✎
10:37
|
Заменить на ничего?
|
|||
2
YF
24.10.11
✎
10:37
|
СтрЗаменить(строка_, """Нерка""", "")
|
|||
3
curys
24.10.11
✎
10:39
|
(2) это понятно, но номенклатура разная просто и содержание кавычек тоже.
|
|||
4
YF
24.10.11
✎
10:39
|
(3) Парсить строку
|
|||
5
Kreont
24.10.11
✎
10:40
|
Икра "Крутая "непропарсистся"" 1/25
Труба новая "Елитная" D1"2 и т.д., что тогда делать будете Выход: Заставить набирать в отдельное поле краткое наименование правильно и Полное уже со всеми примабасами |
|||
6
curys
24.10.11
✎
10:42
|
в номенклатуре везде только одни кавычки
|
|||
7
Kreont
24.10.11
✎
10:42
|
(6) неверю (с)
|
|||
8
vladko
24.10.11
✎
10:44
|
по алгоритму в (0)
найти первую кавычку, найти 2ю кавычку, и вырезать между ними. Операторы: Найти(), Лев(), Прав() |
|||
9
Mikeware
24.10.11
✎
10:45
|
(6) ответь честно - 1986? :-)
|
|||
10
curys
24.10.11
✎
10:48
|
(9) серьезно говорю, что в БД в номенклатуре только одна пара кавычек!
|
|||
11
YF
24.10.11
✎
10:49
|
(10) Тогда тебе уже все рассказали, чего еще-то хочешь?
|
|||
12
Kreont
24.10.11
✎
10:50
|
Для всей БД:
Если СтрЧислоВхождений(Наименование,"""") > 1 Тогда (5) Иначе (8) КонецЕсли; |
|||
13
YF
24.10.11
✎
10:51
|
(12) > 2
|
|||
14
curys
24.10.11
✎
10:55
|
спасибо все за ответы
|
|||
15
Ткачев
24.10.11
✎
11:04
|
Слово = "Икра лососевая зернистая ""Нерка"" 1/25";
ПозицияНачало = Найти(Слово, """"); НачалоСтроки = Лев(Слово, ПозицияНачало); ПозицияКонец = Найти(Сред(Слово, ПозицияНачало + 1), """"); УдаляемоеСлово= Сред(Слово, ПозицияНачало, ПозицияКонец + 1); Слово = СтрЗаменить(Слово, УдаляемоеСлово, ""); Слово = СтрЗаменить(Слово, " ", " "); |
|||
16
Песец
24.10.11
✎
11:05
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
Строка = "Икра лососевая зернистая ""Нерка"" 1/25 "; Сообщить(БезКавычек(Строка)); КонецПроцедуры Функция БезКавычек(Строка) Если СтрЧислоВхождений(Строка, """") <> 2 тогда Предупреждение("Количество кавычек неправильное"); Возврат ""; КонецЕсли; Текст = СтрЗаменить(Строка, """",Символы.ПС); Возврат СтрПолучитьСтроку(Текст, 1) + СтрПолучитьСтроку(Текст, 3); //два пробела заменить на один? КонецФункции |
|||
17
Песец
24.10.11
✎
11:11
|
(16+)
Если СтрЧислоВхождений(Строка, Символы.Пс) > 0 тогда Предупреждение("Слишком много строк, функция не функциклирует :("); Возврат ""; КонецЕсли; ... Возврат СтрПолучитьСтроку(Текст, 1) + СокрЛ(СтрПолучитьСтроку(Текст, 3));//один пробел |
|||
18
Злопчинский
24.10.11
✎
17:39
|
странно что регекспы никто не пристегнул..
все одной строкой делается |
|||
19
Ткачев
25.10.11
✎
07:24
|
(18)Можно примерчик ?
|
|||
20
ЧеловекДуши
25.10.11
✎
07:45
|
Баловство это все. а Автор и правду наивен.
Там где одна кавычка, будет и 2 и 3 и т.д. Человеческий фактор еще никто не отменял. |
|||
21
Рэйв
25.10.11
✎
07:54
|
(0)Ручками будет быстрее, чем изобретать непонятно что
|
|||
22
Ткачев
25.10.11
✎
07:55
|
Ну примерчик то надо на будущее как это делать одной строкой.
|
|||
23
Kreont
25.10.11
✎
10:46
|
(22) "(.*)"
И замену на <пусто> :) |
|||
24
Ткачев
25.10.11
✎
10:54
|
Куды вставлять это "(.*)" ?
Примером можно ? Наподобие: СтрЗаменить(Слово, """(.*)""", ""); |
|||
25
Kreont
25.10.11
✎
11:03
|
(24) в одну строчку не уложусь (, надо код писать, я шаблон для замены дал.
Дальше тут: Книга знаний: Использование регулярных выражений (RegExp) в 1С |
|||
26
Ткачев
25.10.11
✎
11:08
|
(25)Теперь понятно как, я раньше тоже делал все через СтрЗаменить(Строка, """", Символы.ПС), но потом почему то отказался от этого и вспомнить не могу почему, но причина была веская.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |