在某个点拆分一个字符串

时间:2014-06-03 16:19:20

标签: ruby string parsing

如果长度超过18个字符,我正在尝试解析用户的电子邮件地址。我想删除第18个字符后的所有字符。有没有办法将字符串拆分到某个索引而不必先将其转换为数组?

3 个答案:

答案 0 :(得分:4)

s[0,18]会这样做。

"Now is"[0,18] #=> "Now is"
"Now is the time for all good people"[0,18] #=> "Now is the time fo"

答案 1 :(得分:3)

你可以做到

> "a very very very looooooooooooong string"[0, 18]
#=> "a very very very l"

答案 2 :(得分:2)

您也可以将 regex 用于您的目的。这将是一个有趣的,但不是表明,它是一个更好的答案,虽然: -

"Now is"[/.{,18}/] # => "Now is"

String#[]方法将 regex 作为参数

  

如果提供了Regexp,则返回字符串的匹配部分。如果捕获遵循正则表达式(可能是捕获组索引或名称),则遵循正则表达式,而是返回MatchData的组件。