ruby如何替换字符串的多个

Python036

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 # jklmnop s # abcdefghipqrstuvwxyz

可以用 rpartition 来做.

array_of_pieces = string.rpartition sub_or_pattern

( array_of_pieces[(array_of_pieces.find_index sub_or_pattern)] =  replacement ) rescue nil

array_of_pieces.join

字符串 含义

\a 替换成Bell声所对应的符号

\nnn nnn表示一个八进制数值,替换成该八进制所对应的字符

\b 退格符,替换成退格键所对应的字符

\xnn xnn表示一个十六进制数,替换成该十六进制数所对应的字符

\e 替换成Escape键对应的字符

\cx替换成Ctrl+X组合键对应的字符,其中x可以是任意键对应的字符

\C-x 替换成Ctrl+X组合键对应的字符,其中x可以是任意键对应的字符

\n 换行符,替换成一个空行

\M-x 替换成Alt+X组合键对应的字符,其中x可以是任意键对应的字符

\r 回车符,替换成一个回车

\M-\C-x 替换成Ctrl+Alt+X组合键对应的字符,其中x可以是任意键对应的字符

\s 空白符,替换成一个空白字符

\t 替换成一个Tab键所对应的字符

\v 替换成一个垂直Tab键所对应的字符

#{expr}替换成变量或者表达式expr所对应的值