Войти

Показать полную графическую версию : [решено] Определение наличия пробелов в строке


TERMINAL
27-10-2012, 11:48
Добрый день !
Есть модуль :
$x = "тест временный"
If StringIsSpace($x) Then
MsgBox(0,"", "String only contained whitespace characters.")
EndIf

Команда мне не сообщает что есть пробел или я не так понял суть команды StringIsSpace ?

TERMINAL
27-10-2012, 12:09
Пришлось обойтись командой StringInStr
If StringInStr("тест временный", " ")<>0 Then
MsgBox(0,"тест временный", "Yes")
Else
MsgBox(0,"тест временный", "No")
EndIf

Iska
27-10-2012, 13:09
Пришлось обойтись командой StringInStr »
Что значит «пришлось»? Это именно та функция, которую и следовало использовать. Ну, или «StringRegExp», если надо проверить подмножество.

Команда мне не сообщает что есть пробел или я не так понял суть команды StringIsSpace ? »
Checks if a string contains only whitespace characters.
StringIsSpace ( "string" )
Parameters
string The string to check

Return Value
Success: Returns 1.
Failure: Returns 0 if string contains non-whitespace characters.

Remarks
Whitespace includes Chr(9) thru Chr(13) which are HorizontalTab, LineFeed, VerticalTab, FormFeed, and CarriageReturn. Whitespace also includes the standard space ( Chr(32) ).
Что непонятного? Функция проверяет содержит ли строка только пробельные символы (к коим относит символы табуляции, вертикальной табуляции, прогона страницы, переноса строки, возврата каретки и самого пробела). То есть — не является ли строка пустой по сути. Прямо сказано: «Returns 0 if string contains non-whitespace characters» — «Вернуть 0, если строка содержит непробельные символы». А Вы, коллега, почему-то восприняли написанное с точностью до наоборот — «Вернуть 1, если строка содержит пробельные символы».




© OSzone.net 2001-2012