Имя: Пароль:
1C
1С v8
Как определить, есть ли в строке два знака "/" не подряд?
0 Санта
 
19.10.11
09:49
Как определить, есть ли в строке два знака "/" не подряд?
1 Aleksey
 
19.10.11
09:50
найти(,"//")?
2 Санта
 
19.10.11
09:50
можно, конечно в цикле получать каждый символ строки и сравнивать, но есть ли более отпимальные методы?
3 Aleksey
 
19.10.11
09:51
а не подряд, тогда тупо 2 раза найти
4 Санта
 
19.10.11
09:51
(1) не прокатит для "вася пупкин/ел морковку/завтра"
5 Рэйв
 
19.10.11
09:51
Если Найти(СтрЗаменить(Строчка,"//"," "),"/")>0 Тогда
  Сообщить("Есть не подряд");
КонецЕсли;
6 guitar_player
 
19.10.11
09:51
СттрЧислоВхождений
7 philosofka
 
19.10.11
09:51
найти один раз "/", выделить подстроку от этого символа и ещё раз найти "/"
8 Нуф-Нуф
 
19.10.11
09:51
(6)+1
+найти(,"//")
9 DJ Anthon
 
19.10.11
09:51
элементарно
10 Рэйв
 
19.10.11
09:52
ну или по символьно пройтись
11 IamAlexy
 
19.10.11
09:52
тру программисты юзают регексп...
12 Aleksey
 
19.10.11
09:52
(6) Найдет подряд
13 Санта
 
19.10.11
09:52
(6) спасибо
14 Aleksey
 
19.10.11
09:52
(8) Не найти, а стрзаменить
15 DJ Anthon
 
19.10.11
09:53
СтрКоличествоСтрок(СтрЗаменить(СтрЗаменить(СтрЗаменить(Стр, Символы.ПС, " "),"//", " "), "/", Символы.ПС) > 2
16 DJ Anthon
 
19.10.11
09:53
что-то типо этого
17 Рэйв
 
19.10.11
09:53
+(5)Вернее во так:

Если СтрЧислоВхождений(СтрЗаменить(Строчка,"//"," "),"/")>1 Тогда

  Сообщить("Есть не подряд больше 1");
КонецЕсли;
18 Нуф-Нуф
 
19.10.11
09:54
СттрЧислоВхождений >1 и Найти(,"//")=0

и не надо лохматить бабушку
19 Aleksey
 
19.10.11
09:54
(17) Без разницы
20 НЕА123
 
19.10.11
09:55
(17)
"///"

?
21 guitar_player
 
19.10.11
09:55
СтрЧислоВхождений("вася пупкин/ел морковку/завтра", "/") >= 2 И Найти("вася пупкин/ел морковку/завтра", "//") = 0
22 DJ Anthon
 
19.10.11
09:56
СтрЧислоСтрок(СтрЗаменить(СтрЗаменить(СтрЗаменить(Стр, Символы.ПС, " "),"//", " "), "/", Символы.ПС))
23 guitar_player
 
19.10.11
09:56
(18) согласен
24 DJ Anthon
 
19.10.11
09:57
(21) не прав
25 Megas
 
19.10.11
09:57
(17) (18) А помне вы не правы.
К примеру :

(18) "c:/вася//петя/" даст ложь.
(17) "с:///вася/" даст истину.
26 DJ Anthon
 
19.10.11
09:57
СтрЧислоВхождений(СтрЗаменить(Стр, "//", " "), "/") еще короче
27 Рэйв
 
19.10.11
09:57
(20)В сабже было слово "два":-)
28 DJ Anthon
 
19.10.11
09:59
(25) а ну да, лучше по символам пробежаться
29 DJ Anthon
 
19.10.11
10:00
СтрЧислоВхождений(СтрЗаменить(Стр, "//", "@"), "/") - СтрЧислоВхождений(Стр, "@/") > 2

а так?
30 DJ Anthon
 
19.10.11
10:02
тьфу ты

СтрЧислоВхождений(СтрЗаменить(Стр, "//", "@"), "/") - СтрЧислоВхождений(СтрЗаменить(Стр, "//", "@"), "@/") > 2
31 butterbean
 
19.10.11
10:03
а если строка будет "sdfsd/f/////sdf  sdf////// sdfsdf//"
32 guitar_player
 
19.10.11
10:03
(30) все таки лучше уже пробежаться по символам
33 DJ Anthon
 
19.10.11
10:04
(31) а ты проверь
34 НЕА123
 
19.10.11
10:05
(30)
будет жить. по-моему.
35 DJ Anthon
 
19.10.11
10:05
(31) будет ложь, все правильно. только там надо >= 2 поставить
36 guitar_player
 
19.10.11
10:06
в (30) он уже 4 раза строку проходит
37 DJ Anthon
 
19.10.11
10:06
на месте собачки можно ™ поставить или еще че-нить редко встречающееся )
38 DJ Anthon
 
19.10.11
10:07
(36) там всего один слеш не сдвоенный
39 Санта
 
19.10.11
10:25
А в запросе реально определить?
40 butterbean
 
19.10.11
10:27
(39) Стр ПОДОБНО "/%/"
41 butterbean
 
19.10.11
10:27
(40)+ т.е. Стр ПОДОБНО "%/%/%"
42 Санта
 
19.10.11
10:30
(41) как понимаю, там четкий формат должен быть
43 DJ Anthon
 
19.10.11
10:37
(41) и как тут учитывается сдвоенность?
44 Fragster
 
гуру
19.10.11
10:38
регэксп
\/[^\]+\/
45 Fragster
 
гуру
19.10.11
10:38
\/[^/]+\/
46 Санта
 
19.10.11
10:39
(44) это что такое?
47 mikecool
 
19.10.11
10:39
(7) фигасе какие землячки тут бывают...
48 Fragster
 
гуру
19.10.11
10:42
(46) ну типа infostart.ru/public/75941/
49 Санта
 
19.10.11
10:49
(48) там у меня денег за нее просят
50 Fragster
 
гуру
19.10.11
10:49
(49) гыгы
51 DJ Anthon
 
19.10.11
10:50
52 DJ Anthon
 
19.10.11
10:51
на держи, только не смеши больше
53 Санта
 
19.10.11
10:52
(52) спасибо
Основная теорема систематики: Новые системы плодят новые проблемы.