如何检查字符串是否以数字开头?
如何检查字符串是否以数字开头?
嗨,这个问题我刚好碰到过!你用start_with?直接写"ANY NUMBER"肯定不行啦,因为这个方法只能匹配具体的字符串或者字符串列表。给你两种实用的解决办法:
正则表达式法(推荐):
Ruby里的match?方法特别适合这种场景,它会直接返回布尔值,用法简洁高效:line.match?(/^\d/)这里的
^表示匹配字符串的开头位置,\d代表任意0-9的数字,刚好满足你“字符串以数字开头”的需求。在你的ERB模板里可以这么写:<% if line.match?(/^\d/) %> # 这里放你要执行的代码逻辑 <% end %>start_with?扩展用法:
如果你坚持想用start_with?,也可以把0到9的字符生成一个范围,用展开运算符*把范围转成方法参数:line.start_with?(*('0'..'9'))这个写法会让
start_with?检查字符串是否以0-9中的任意一个字符开头,虽然能实现需求,但处理大量数据时效率不如正则,所以更推荐第一种方法哦。
备注:内容来源于stack exchange,提问作者Gibson
相关产品推荐
相关产品推荐

