拆分字符串并删除字符串中的第一个元素
Split a string and remove the first element in string
Original string '4.0.0-4.0-M-672092'
如何使用一行代码将原始字符串修改为“4.0-M-672092”。
非常感谢任何帮助。
感谢和问候
'split' 方法适用于这种情况
'4.0.0-4.0-M-672092'.split('-')[1..-1].join('-')
# => "4.0-M-672092"
请注意,在此应用程序中没问题,但在长文本中这可能会变得未优化,因为它会拆分所有字符串,然后重新加入数组
如果你需要在更宽的文本中更优化这个,你可以找到“-”索引(这是你的拆分)并使用下一个位置来制作子字符串
text = '4.0.0-4.0-M-672092'
text[(text.index('-') + 1)..-1]
# => "4.0-M-672092"
但是你不能在一行中完成,找不到分割字符会导致错误,所以如果可能发生,请使用 rescue 语句
最简单的方法:
'4.0.0-4.0-M-672092'.split('-', 2).second
"4.0.0-4.0-M-672092"[/(?<=-).*/]
#=> "4.0-M-672092"
正则表达式显示为“尽可能多地匹配换行符以外的零个或多个字符 (.*
),前提是匹配前面有一个连字符。(?<=-)
是一个 积极回顾。参见String#[]。
Original string '4.0.0-4.0-M-672092'
如何使用一行代码将原始字符串修改为“4.0-M-672092”。 非常感谢任何帮助。
感谢和问候
'split' 方法适用于这种情况
'4.0.0-4.0-M-672092'.split('-')[1..-1].join('-')
# => "4.0-M-672092"
请注意,在此应用程序中没问题,但在长文本中这可能会变得未优化,因为它会拆分所有字符串,然后重新加入数组
如果你需要在更宽的文本中更优化这个,你可以找到“-”索引(这是你的拆分)并使用下一个位置来制作子字符串
text = '4.0.0-4.0-M-672092'
text[(text.index('-') + 1)..-1]
# => "4.0-M-672092"
但是你不能在一行中完成,找不到分割字符会导致错误,所以如果可能发生,请使用 rescue 语句
最简单的方法:
'4.0.0-4.0-M-672092'.split('-', 2).second
"4.0.0-4.0-M-672092"[/(?<=-).*/]
#=> "4.0-M-672092"
正则表达式显示为“尽可能多地匹配换行符以外的零个或多个字符 (.*
),前提是匹配前面有一个连字符。(?<=-)
是一个 积极回顾。参见String#[]。