Ruby:如何找出字符是字母还是数字?
发布时间:2020-12-16 20:02:26 所属栏目:百科 来源:网络整理
导读:我刚刚在本周早些时候开始修改 Ruby,而且我遇到了一些我不太懂得编码的东西.我正在将一个用Java编写的扫描器转换为Ruby进行类分配,我已经了解了这一节: if (Character.isLetter(lookAhead)){ return id();}if (Character.isDigit(lookAhead)){ return numbe
我刚刚在本周早些时候开始修改
Ruby,而且我遇到了一些我不太懂得编码的东西.我正在将一个用Java编写的扫描器转换为Ruby进行类分配,我已经了解了这一节:
if (Character.isLetter(lookAhead)) { return id(); } if (Character.isDigit(lookAhead)) { return number(); } lookAhead是从字符串中挑出的单个字符(每次循环遍历一个空格),这两个方法确定它是一个字符还是一个数字,返回相应的令牌类型.我没有能够找出一个与Character.isLetter()和Character.isDigit()等效的Ruby. 解决方法
使用与字母&数字:
def letter?(lookAhead) lookAhead =~ /[[:alpha:]]/ end def numeric?(lookAhead) lookAhead =~ /[[:digit:]]/ end 这些称为POSIX括号表达式,它们的优点是给定类别下的unicode字符将匹配.例如: '?' =~ /[A-Za-z]/ #=> nil '?' =~ /w/ #=> nil '?' =~ /[[:alpha:]]/ #=> 0 您可以在Ruby’s docs for regular expressions阅读更多. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |