首页 > 解决方案 > 如何验证文件以在 ruby​​ 或 ruby​​ on rails 中检查多个扩展名

问题描述

我正在尝试检查文件是否有多个扩展名

要检查字符长度,我可以这样做

 s= 'hello welcome to stackoverflow'
  if s.length <= 35
     print('okay')
  else
     print('not accepted')
  end

我想要达到的目标:

现在我有一个文件,我想检查单、双或多扩展名。

我只想允许具有单个扩展名的文件名。如果文件有多个扩展名,则抛出不允许的错误,如下面的代码所示。

我的问题是我无法获得与length()函数等效的dot( )函数

   filename = 'nancy.png'

  if filename.length == 1
     print('good file because it has only one dot extension name')
  else
     print('files with two or multiple extension name not allowed')
  end

标签: ruby-on-railsruby

解决方案


您可以简单地计算“。” 如果它出现不止一次意味着它是无效的。您可以为此执行以下操作。

if filename.count('.') > 1 # assuming filename is string 
  print 'Invalid'
else
  print 'Valid'
end

推荐阅读