gpt4 book ai didi

Ruby:如何判断一个字符是字母还是数字?

转载 作者:数据小太阳 更新时间:2023-10-29 06:29:27 24 4
gpt4 key购买 nike

本周早些时候,我刚刚开始研究 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.match?(/[[:alpha:]]/)
end

def numeric?(lookAhead)
lookAhead.match?(/[[:digit:]]/)
end

这些被称为 POSIX 括号表达式,它们的优点是给定类别下的 unicode 字符将匹配。例如:

'ñ'.match?(/[A-Za-z]/)     #=> false
'ñ'.match?(/\w/) #=> false
'ñ'.match?(/[[:alpha:]]/) #=> true

您可以在 Ruby’s docs for regular expressions 中阅读更多内容.

关于Ruby:如何判断一个字符是字母还是数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14551256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com