字符串包含字母AZ或az时如何返回true或false?

ali*_*and 3 ruby

我熟悉如何检查字符串是否包含子字符串,并且还熟悉如何检查单个字母是数字还是字母,但是如何检查字符串中是否有字母呢?

def letters?(string)
  # what do i do here?
end

# string could be anything from '111' to '1A2' to 'AB2589A5' etc...

string = '1A2C35'
if letters?(string) == true
  # do something if string has letters
else
  # do something else if it doesnt
end
Run Code Online (Sandbox Code Playgroud)

Ale*_*kin 5

检查字符串是否包含字母的正确方法是使用\p{L}匹配器。这样你就可以配对

"i?" # in "nai?ve"
Run Code Online (Sandbox Code Playgroud)

以及

"ç" # in Barça
Run Code Online (Sandbox Code Playgroud)

该代码将是:

def letters? string
  !string[/\p{L}/].nil?
end
Run Code Online (Sandbox Code Playgroud)