我遇到了一个只能打印出来的表达式的问题" 123"来自" LOL123。"我不能用正则表达式解决这个问题,所以我必须以某种方式比较字符串。这是我到目前为止的代码:
print join '', grep{$_ + 0} split //, "LOL123";
这有效,但是给我一个警告,L,O,L是非数字的。
有没有可能的方法来做到这一点而不会出错?
答案 0 :(得分:1)
要将字符串拆分为字符列表,请使用split //
,而不是split / /
。
然后grep中的代码需要测试$_
(grep将依次为每个字符设置别名)是否为数字。通常你会使用正则表达式,但你可以使用字符串比较运算符ge
和le
。