Ruby 字符串长度 "\\\' "

标签 ruby string

为什么 string.sizestring.length 2?我认为应该是 3。如果第一个 \ 是一个转义字符,那么它不应该被打印出来。这就是第三个 \ 的情况。

string='\\\'' # => "\\'"
string.size   # => 2
string.length # => 2

最佳答案

If first \ is escape character then it should not be printed out. That is what happened to 3rd \.

不,因为正在打印的是 String#inspect 的结果, 它转义为双引号字符串。由于此处不需要对 ' 进行转义,因此不需要转义字符 (\)。

I think it should be 3

size/length 不会说谎,所以当然是两个。

在单引号字符串中,\\是单个字符\\'是单个字符' 。所以生成的字符串是 \'putsinspect 更有用,因为它不显示任何转义,只显示文字内容:

puts '\\\''
# prints: \'

关于Ruby 字符串长度 "\\\' ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19418157/

相关文章:

java - 如何使用instanceof关键字Java

c++ - 如有必要,从字符串中删除尾随的 0 和小数

string - R - 输入多个不带引号的字符串

ruby - Ruby错误处理类似于Perl

mysql - 是否需要在 Ruby on Rails 中迁移数据库?

ruby - 带 block 的动态类定义

java - 如何检查可编辑组合框中的选定项目是否为空

ruby-on-rails - 出现奇怪的 'undefined method ' 错误

ruby-on-rails - Rails : JSON attribute is handled as a method. 无方法错误

php - strstr() 的错误参数计数