Что нового

Как по маске найти содержится ли то или иное буквосочетани в переменной или нет?

agikon

Знающий
Сообщения
789
Репутация
16
например в переменной содержится путь к файлу C:\Documents and Settings\Admin\Рабочий стол\all\readme.txt

Код:
$var1 = 'C:\Documents and Settings\Admin\Рабочий стол\all\readme.txt'
$var2 = 'C:\Documents and Settings\Admin\Рабочий стол\readme.txt'


так вот как по маске определить содержит путь буквосочетание "all" или нет?

я делаю вот так но не работает
Код:
if $var1 = '.*all.*' then

;-----
if $var2 = '.*all.*' then


помогите пожалуйста.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,320
Re: Как по маске найти содержится ли то или иное слово в переменной или нет?

agikon,
Попробуйте так.
Код:
$sPath = 'C:\Documents and Settings\Admin\Рабочий стол\all\readme.txt'

$sSearchDir = 'Рабочий стол'
$sSearchFile = 'readme'

If StringInStr($sPath, '\' & $sSearchDir & '\') Then
	MsgBox(64, 'Info', 'Папка <' & $sSearchDir & '> есть')
Else
	MsgBox(16, 'Error', 'Папки <' & $sSearchDir & '> нет')
EndIf
If StringRegExp($sPath, '\\' & $sSearchFile & '[.a-z]{0,5}$') Then
	MsgBox(64, 'Info', 'Файл <' & $sSearchFile & '> есть')
Else
	MsgBox(16, 'Error', 'Файла <' & $sSearchFile & '> нет')
EndIf

If StringInStr($sPath, '\' & 'N' & $sSearchDir & '\') Then
	MsgBox(64, 'Info', 'Папка <' & 'N' & $sSearchDir & '> есть')
Else
	MsgBox(16, 'Error', 'Папки <' & 'N' & $sSearchDir & '> нет')
EndIf
If StringRegExp($sPath, '\\' & 'N' & $sSearchFile & '[.a-z]{0,5}$') Then
	MsgBox(64, 'Info', 'Файл <' & 'N' & $sSearchFile & '> есть')
Else
	MsgBox(16, 'Error', 'Файла <' & 'N' & $sSearchFile & '> нет')
EndIf
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
16
Re: Как по маске найти содержится ли то или иное слово в переменной или нет?

madmasles
спасибо щас буду шаманить.

но!

не обьязательно папку или файл искать!

а просто наличие буквосочетания !
вот именно буквосочетание возможно как-то определить?
потому что в переменной может быть не только путь, а и просто например "gf58hkdssallfds1jg54"
Код:
$var3 = "gf58hkdssallfds1jg54"
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,320
Re: Как по маске найти содержится ли то или иное слово в переменной или нет?

agikon [?]
а просто наличие буквосочетания
Код:
If StringInStr('gf58hkdssallfds1jg54', 'all') Then
	MsgBox(64, 'Info', 'OK')
Else
	MsgBox(16, 'Error', 'NO')
EndIf
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
16
Re: Как по маске найти содержится ли то или иное слово в переменной или нет?

madmasles

спасибо вам!
потрясающе !!! :ok:
заработало!
 
Верх