在本文中,我们将学习如何使用各种方法在 Ruby 中将字符串转换为布尔值。让我们通过示例来理解它们。
使用 String#casecmp 将字符串转换为布尔值
casecmp
method
比较两个字符串,同时忽略大小写,如果它们相等则返回 0,如果接收者在参数之前则返回 -1,如果接收者按字母顺序在参数之后则返回 1。
用法:
string.casecmp(“true”).zero?
例子:在此示例中,我们将给定字符串与 “true” 进行比较,同时忽略大小写。如果字符串相等,则返回 0。我们使用此属性来检查结果是否相同casecmp
为零来确定字符串是否代表 true。
def convert_to_boolean_using_casecmp(string)
string.casecmp("true").zero?
end
# Test examples
string1 = "True"
string2 = "false"
string3 = "Yes"
puts "String: #{string1}, Boolean Value: #{convert_to_boolean_using_casecmp(string1)}" # Output: true
puts "String: #{string2}, Boolean Value: #{convert_to_boolean_using_casecmp(string2)}" # Output: false
puts "String: #{string3}, Boolean Value: #{convert_to_boolean_using_casecmp(string3)}" # Output: true
输出
String: True, Boolean Value: true String: false, Boolean Value: false String: Yes, Boolean Value: false
使用 String#downcase 将字符串转换为布尔值
String#downcase 将字符串转换为小写,然后我们将其与 “true” 进行比较,检查它是否代表 true。
用法:
string.downcase == “true”
例子:在此示例中,我们使用 downcase 将给定字符串转换为小写,然后将其与 “true” 进行比较。如果小写字符串与“true”匹配,则返回true。
def convert_to_boolean_using_downcase(string)
string.downcase == "true"
end
# Test examples
string1 = "True"
string2 = "false"
string3 = "Yes"
puts "String: #{string1}, Boolean Value: #{convert_to_boolean_using_downcase(string1)}" # Output: true
puts "String: #{string2}, Boolean Value: #{convert_to_boolean_using_downcase(string2)}" # Output: false
puts "String: #{string3}, Boolean Value: #{convert_to_boolean_using_downcase(string3)}" # Output: true
输出
String: True, Boolean Value: true String: false, Boolean Value: false String: Yes, Boolean Value: false
使用正则表达式将字符串转换为布尔值
可以使用正则表达式来匹配字符串中的特定模式,例如“true”或“false”,然后将其转换为布尔值。
用法:
!!(string =~ /^(true|t|yes|y)$/i)
例子:在这个例子中我们使用正则表达式 /^(true|t|yes|y)$/i
匹配字符串,例如“true”, “t”, “yes”,或“y”无论情况如何。表达方式 !!(string =~ /^(true|t|yes|y)$/i)
如果字符串与模式匹配,则返回 true,否则返回 false。
def convert_to_boolean_using_regex(string)
!!(string =~ /^(true|t|yes|y)$/i)
end
# Test examples
string1 = "True"
string2 = "false"
string3 = "Yes"
puts "String: #{string1}, Boolean Value: #{convert_to_boolean_using_regex(string1)}" # Output: true
puts "String: #{string2}, Boolean Value: #{convert_to_boolean_using_regex(string2)}" # Output: false
puts "String: #{string3}, Boolean Value: #{convert_to_boolean_using_regex(string3)}" # Output: true
输出
String: True, Boolean Value: true String: false, Boolean Value: false String: Yes, Boolean Value: true
相关用法
- Ruby String转Hash用法及代码示例
- Ruby String转JSON用法及代码示例
- Ruby String byteslice用法及代码示例
- Ruby String chop用法及代码示例
- Ruby String crypt用法及代码示例
- Ruby String delete_prefix用法及代码示例
- Ruby String each_codepoint用法及代码示例
- Ruby String encoding用法及代码示例
- Ruby String hex用法及代码示例
- Ruby StringIO bytes用法及代码示例
- Ruby StringScanner charpos用法及代码示例
- Ruby StringScanner get_byte用法及代码示例
- Ruby StringScanner peek用法及代码示例
- Ruby StringScanner post_match用法及代码示例
- Ruby StringScanner rest_size用法及代码示例
- Ruby StringScanner scan_until用法及代码示例
- Ruby StringScanner skip_until用法及代码示例
- Ruby StringScanner terminate用法及代码示例
- Ruby String bytes用法及代码示例
- Ruby String bytesize用法及代码示例
- Ruby String capitalize()用法及代码示例
- Ruby String casecmp用法及代码示例
- Ruby String center()用法及代码示例
- Ruby String chars()用法及代码示例
- Ruby String chomp用法及代码示例
注:本文由纯净天空筛选整理自abhay94517大神的英文原创作品 How to convert String to Boolean in Ruby?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。