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