"\0"null 的 Ruby 测试?

标签 ruby null string

我在破坏脚本的字符串中出现了一些奇怪的字符。据我所知,通过 put badstring 到控制台,它们是 "\0\0\0\0"

我想对此进行测试,以便我可以忽略它们...但是如何呢?

以为这就是 blank?empty? 的用途?!? :

> badstring = "\0"
 => "\u0000" 
> badstring.blank?
NoMethodError: undefined method `blank?' for "\u0000":String
    from (irb):97
    from /Users/meltemi/.rvm/rubies/ruby-2.0.0-p195/bin/irb:16:in `<main>'
> badstring.empty?
 => false
> badstring.nil?
 => false 

编辑:尝试在 irb 中重新创建但遇到问题:

> test1 = "\0\0\0\0"
 => "\u0000\u0000\u0000\u0000" 
> test2 = '\0\0\0\0'
 => "\\0\\0\\0\\0"

我想要的是 "\0\0\0\0" 字符串,这样我就可以找到一种方法来测试 if mystring == "\0\0\0\0 " 或类似的东西。

最佳答案

首先 blank? 是一个 Rails 助手。试试这个:

badstring =~ /\x00/ 

如果返回整数则给定字符串包含"\0",如果返回nil则给定字符串不包含"\0"

关于 "\0"null 的 Ruby 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16652955/

相关文章:

ruby-on-rails - 如何以编程方式连接到 Ruby 调试器以创建用于 Sublime Text 2 的插件?

ruby-on-rails - Rails 生成器不兼容的库

ruby - Sinatra:堆栈级别太深

MySQL 如何在使用 Group By 时为不匹配的列分配空值

mysql - 如何在 Coldfusion/MySql 中进行固定数量的单词搜索动态?

javascript - 如何使用 Mongoose 检查字符串是否与数组的元素匹配

ruby - 使用 <=> 而不仅仅是排序和反转有什么好处吗?

c# - 如何将 C# 对象本身设置为 null

php - 使用空变量和格式化数字

python - 如何删除 DataFrame 字符串中的特殊字符(例如 ",")?