示例字符串是:
str = "WZMLYZDVBTAAJJ2T21CWIA"
要获得第一个或最后5个字符,我可以这样做:
str.first(5)
#=> "WZMLY"
str.last(5)
#=> "1CWIA"
奇怪地str.center(5)
返回整个str
(没有错误)?怎么了?
他们是random(5)
方法会做str[4..9]
这样的事情吗?我知道我显然可以做到以下几点:(总是假设我的str> 9个字符)
random = rand(5)
random_str_segment = str[random..(random+5)]
答案 0 :(得分:1)
不,没有内置方法。
random = rand(str.length - 5)
random_str_segment = str[random..(random+5)]
哦,center
方法返回以空格为中心的字符串:
"abc".center(10)
=> " abc "
答案 1 :(得分:1)
str.slice(rand(str.size - 5), 5)
另外,请阅读center
的文档:
中心str宽度。如果width大于str的长度,则返回一个长度为width的新String,其中str为中心并用padstr填充; 否则,返回str 。
答案 2 :(得分:1)
我认为最简单的方法就是:
a = "WZMLYZDVBTAAJJ2T21CWIA"
a[rand(a.size-5), 5]