ruby怎么在字符串中查找特定字符

Python012

ruby怎么在字符串中查找特定字符,第1张

"abcdefghijklmnopqrstuvwxyz".slice(9, 6)

找第10个字符开始的6个字符 也就是第10到第15个 索引从0开始 所以是9, 6

当然因为这是 ruby 所以我们还可以这么写

"abcdefghijklmnopqrstuvwxyz".slice 9, 6

另外我们还有带叹号版本的 slice 方法 它会返回被截取的部分 同时把原始字符串中被截取的部分删除

s = "abcdefghijklmnopqrstuvwxyz"

s.slice! 9, 6 # jklmno

p s # abcdefghipqrstuvwxyz

a =“world”

a["w"] = w

a["s"] = nil

你可以参考ruby string 的官方文档,基本上string 所有自带的方法都有,并且有例子

http://ruby-doc.org/core-2.1.2/String.html#method-i-match

strName = json.optString("name").substring(0, json.optString("name").indexOf(" "))这样写是不安全的。

原因是json.optString("name")有可能因为种种原因返回null,或者其中不含空格导致json.optString("name").indexOf(" ")返回-1进而导致substring方法出错。

总之,把这句话展开成一个函数,多加一些检查,才能保持函数的可靠。