如何检查字符串是否包含符号?这让我感到困惑:
class Beba
def initialize
while true
puts "Qfar emri deshironi ti vnoni bebes?"
@@emri = gets.chomp.capitalize
if @@emri.scan(/\d+/).empty? && @@emri.scan(/\/./).empty?
puts "Ti e emertove beben me emrin: #{@@emri}"
break
else
puts "Emri nuk mund te jete me numra/simbole, provoni perseri."
end
end
end
end
正如您所见,在if@@emri.scan(/\d+/).empty? && @@emri.scan(/\/./).empty?
,我不知道该怎么做,我可以使用哪种方法@@emri.scan(/\\.\).empty?
检查我的字符串是否包含任何符号?
答案 0 :(得分:2)
对于您要求的特定字符,您可以使用:
@@emri.scan(/[!@#$%^&*()_+{}\[\]:;'"\/\\?><.,]/).empty?
如果没有找到特殊字符,将返回true
。
答案 1 :(得分:2)
str !~ /[!@#$%^&*()_+{}\[\]:;'"\/\\?><.,]/
返回true
当且仅当字符串str
不包含正则表达式字符类中的任何字符时(否则返回false
)。
答案 2 :(得分:1)
它似乎在寻找特殊字符。 使用像
这样的东西"Hel@lo".index( /[^[:alnum:]]/ )
如果没有特殊的角色,它将返回nil。
[:alnum:]包括所有0-9,a-z,A-Z。
如果您想要特定的角色
将所有字符放在字符串中像
一样创建正则表达式characters = "!@#$%^&*()_+{}[]:;'\"\/?><.,"
regex = /[#{characters.gsub(/./){|char| "\\#{char}"}}]/
&安培;比使用这个正则表达式来查看它们是否存在于像
这样的字符串中if some_string =~ regex