如果字符串中的字符是否为字母数字,我如何签入TCL?

时间:2016-02-04 11:08:51

标签: regex string tcl

我需要检查字符串中的字符(单独使用)是字母数字,空格还是特殊字符。无法找到明确的方法。

例如,

include?

所以,我的输出应该是:

I - Alphanumeric
t - Alphanumeric
" " - Space
i - Alphanumeric
s - Aplhanumeric
" " - Space
5 - Alphanumeric
! - Special Character

2 个答案:

答案 0 :(得分:4)

string is命令可用于查明字符串的所有字符是否是特定字符类的成员,可以告诉它还报告不是成员的第一个字符的索引那个班。

% string is alpha "abc"
1
% string is alpha -failindex ix "abc123"
0
% puts $ix
3

相关课程可能是alphadigitspacepunct。此外,alnumalphadigit的联合。

答案 1 :(得分:0)

在得到@Donal的好答案之后..如果你想使用TAG中提到的regexp,你可能会这样做,

set var "Abc Def 8 9"
for {set i 0} {$i < [string length $var]} {incr i} {
    set char [string index $var $i]
    if {[regexp -all {[a-zA-Z0-9]} $char]} {
        puts "$char is Alphanumeric"
    } else {
        puts "$char is Special Character"
    }
}

它将解决你逐一获取字符串的每个字符的目的......并检查它是否是字母数字或特殊字符..