ruby,如何删除字符串的第一部分?

ruby,如何删除字符串的第一部分?,ruby,Ruby,这是我第一次在这个论坛上发帖,我正在做一些selenium webdriver测试,我从一个html UI收集了一些数据,将其放入一个数组中: consents = $driver.find_elements(:xpath,"//*[@id='main-display']/div[2]/div[2]/div/table/tbody/tr/td[7]//i") ,然后我用map处理数组: consent_values = consents.map { |consent| consent.attr

这是我第一次在这个论坛上发帖,我正在做一些selenium webdriver测试,我从一个html UI收集了一些数据,将其放入一个数组中:

consents = $driver.find_elements(:xpath,"//*[@id='main-display']/div[2]/div[2]/div/table/tbody/tr/td[7]//i")
,然后我用map处理数组:

consent_values = consents.map { |consent| consent.attribute('class')}
打印我得到的阵列:

["fa fa-check-circle", "fa fa-circle-thin", "fa fa-check-circle", "fa fa-circle-thin", "fa fa-circle-thin", "fa fa-check-circle", "fa fa-circle-thin", "fa fa-circle-thin", "fa fa-check-circle,....]
1) 在映射中是否有方法从数组中的所有字符串中删除“fa”

2) 将字符串“fa-fa-check-circle”更改为true,将“fa-fa-circle-thin”更改为false,这样我将得到: [对,错,对,…]

谢谢,

基本上2)消除了1)的必要性,因此,您可以:

consent_values = consents.map do |consent|
  case consent.attribute('class')
  when "fa fa-check-circle" then true
  when "fa fa-circle-thin" then false
  else nil
  end
end
要从字符串中删除
“fa”
前缀,可以使用
字符串[]

"fa fa-check-circle"[/(?<=\Afa ).*/]
#⇒ "fa-check-circle"
“fa-fa检查圆”[/(?)?

这对我很有用。无论如何,谢谢,我希望我能与这个论坛进行互动。

1)一种方法是使用as
模式。
。2)是什么阻止了你这样做?我知道了,我使用了字符串[N..-1],不知道是否可以在映射转换中将字符串更改为true或false。有一个线程详细介绍了如何删除字符串的开头。可能会发现它读起来很好。我也喜欢这个答案,我会尝试一下。@Fatna这个答案对您来说很清楚,因为您可以完全消除一个步骤。不知道您可以做到这一点使用
String#[]
。信息量一如既往,+1。(我也喜欢2.5.0的可读性。)您好,看看@mudasobwa的答案,他写了一个答案,实际上为您缩短了一步!
string[N..-1]