5.5 字符类函数

Octave 还提供了以下仿照标准 C 库函数设计的字符类测试函数。这些函数均对字符串数组进行运算,并返回由 0 和 1 组成的矩阵。非零元素表示字符串数组中相应字符的条件为真。例如:

isalpha ("!Q@WERT^Y&")
     ⇒   [ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0 ]
 
tf = isalnum (s)

返回一个逻辑数组,其中 s 的元素为字母或数字时对应位置为 true,否则为 false。

这等价于 (isalpha (s) | isdigit (s))。

另请参阅: isalpha, isdigit, ispunct, isspace, iscntrl.

 
tf = isalpha (s)

返回一个逻辑数组,其中 s 的元素为字母时对应位置为 true,否则为 false。

这等价于 (islower (s) | isupper (s))。

另请参阅: isdigit, ispunct, isspace, iscntrl, isalnum, islower, isupper.

 
tf = isletter (s)

返回一个逻辑数组,其中 s 的元素为字母时对应位置为 true,否则为 false。

这是 isalpha 函数的别名。

另请参阅: isalpha, isdigit, ispunct, isspace, iscntrl, isalnum.

 
tf = islower (s)

返回一个逻辑数组,其中 s 的元素为小写字母时对应位置为 true,否则为 false。

另请参阅: isupper, isalpha, isletter, isalnum.

 
tf = isupper (s)

返回一个逻辑数组,其中 s 的元素为大写字母时对应位置为 true,否则为 false。

另请参阅: islower, isalpha, isletter, isalnum.

 
tf = isdigit (s)

返回一个逻辑数组,其中 s 的元素为十进制数字 (0-9) 时对应位置为 true,否则为 false。

另请参阅: isxdigit, isalpha, isletter, ispunct, isspace, iscntrl.

 
tf = isxdigit (s)

返回一个逻辑数组,其中 s 的元素为十六进制数字 (0-9 和 a-fA-F) 时对应位置为 true,否则为 false。

另请参阅: isdigit.

 
tf = ispunct (s)

返回一个逻辑数组,其中 s 的元素为标点符号时对应位置为 true,否则为 false。

另请参阅: isalpha, isdigit, isspace, iscntrl.

 
tf = isspace (s)

返回一个逻辑数组,其中 s 的元素为空白字符(空格、换页符、换行符、回车符、制表符和垂直制表符)时对应位置为 true,否则为 false。

另请参阅: iscntrl, ispunct, isalpha, isdigit.

 
tf = iscntrl (s)

返回一个逻辑数组,其中 s 的元素为控制字符时对应位置为 true,否则为 false。

另请参阅: isspace, ispunct, isalpha, isdigit.

 
tf = isgraph (s)

返回一个逻辑数组,其中 s 的元素为可打印字符(空格除外)时对应位置为 true,否则为 false。

另请参阅: isprint, ispunct, isspace, isalpha, isdigit.

 
tf = isprint (s)

返回一个逻辑数组,其中 s 的元素为可打印字符(包括空格)时对应位置为 true,否则为 false。

另请参阅: isgraph, ispunct, isspace, isalpha, isdigit.

 
tf = isascii (s)

返回一个逻辑数组,其中 s 的元素位于 ASCII 编码范围内时对应位置为 true,否则为 false。

另请参阅: ispunct, isspace, isalpha, isdigit.

 
tf = isstrprop (str, prop)
tf = isstrprop (str, prop, 'ForceCellOutput', flag)

测试字符串属性。

例如:

isstrprop ("abc123", "alpha")
⇒   [1, 1, 1, 0, 0, 0]

如果 str 是元胞数组,则 isstrprop 递归地应用于元胞数组的每个元素。

数值数组会被转换为字符串。

第二个参数 prop 必须是以下之一:

"alpha"

对于字母字符为 true。

"alnum"
"alphanum"

对于字母或数字字符为 true。

"lower"

对于小写字母为 true。

"upper"

对于大写字母为 true。

"digit"

对于十进制数字 (0-9) 为 true。

"xdigit"

对于十六进制数字 (a-fA-F0-9) 为 true。

"space"
"wspace"

对于空白字符(空格、换页符、换行符、回车符、制表符、垂直制表符)为 true。

"punct"

对于标点符号(可打印字符中除空格、字母和数字之外的字符)为 true。

"cntrl"

对于控制字符为 true。

"graph"
"graphic"

对于可打印字符(空格除外)为 true。

"print"

对于可打印字符(包括空格)为 true。

"ascii"

对于位于 ASCII 编码范围内的字符为 true。

如果指定了选项 'ForceCellOutput'flag 为真,则返回元胞数组而非逻辑数组。

另请参阅: isalpha, isalnum, islower, isupper, isdigit, isxdigit, isspace, ispunct, iscntrl, isgraph, isprint, isascii.