Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 从字符串中提取随机字符段的方法?_Ruby - Fatal编程技术网

Ruby 从字符串中提取随机字符段的方法?

Ruby 从字符串中提取随机字符段的方法?,ruby,Ruby,示例字符串为: str = "WZMLYZDVBTAAJJ2T21CWIA" 要获取第一个或最后5个字符,我可以执行以下操作: str.first(5) #=> "WZMLY" str.last(5) #=> "1CWIA" 奇怪的是str.center(5)返回整个str(无错误)?怎么回事 他们的方法是否像是一种类似于str[4..9]的random(5)方法?我知道我显然可以做到以下几点:(这总是假设我的str>9个字符) 不,没有内置的方法 random = r

示例字符串为:

str = "WZMLYZDVBTAAJJ2T21CWIA"
要获取第一个或最后5个字符,我可以执行以下操作:

str.first(5)
 #=> "WZMLY" 
str.last(5)
 #=> "1CWIA"  
奇怪的是
str.center(5)
返回整个
str
(无错误)?怎么回事

他们的方法是否像是一种类似于str[4..9]的
random(5)
方法?我知道我显然可以做到以下几点:(这总是假设我的str>9个字符)


不,没有内置的方法

random = rand(str.length - 5)
random_str_segment = str[random..(random+5)]
哦,
center
方法返回以空格为中心的字符串:

"abc".center(10)
=> "   abc    "
另外,请阅读
中心的文档:

在宽度上居中。如果width大于str的长度,则返回一个新的长度-宽度字符串,str居中并用padstr填充否则,返回str


我认为最简单的方法是:

a = "WZMLYZDVBTAAJJ2T21CWIA"
a[rand(a.size-5), 5]
str.slice(rand(str.size - 5), 5)
a = "WZMLYZDVBTAAJJ2T21CWIA"
a[rand(a.size-5), 5]