簡體   English   中英

Ruby從字符串中刪除第一個單詞

[英]Ruby remove first word from string

我很難找到解決方案。 如何從字符串中刪除第一個單詞,如下面的字符串。

     "i am going to school"

     "he is going to school"

     "she is going to school" 

     "they are going to school"

所以string可以是任何字符串,不知道第一個單詞的確切長度。但只想刪除第一個單詞。

結果應如下所示

      "am going to school"

     "is going to school"

     "is going to school" 

     "are going to school"

有幫助嗎?

謝謝

"i am going to school".split(' ')[1..-1].join(' ')

=> "am going to school"

你可以在ruby中的數組中使用兩種方式,因此-1是最后一個元素。

'she is going to school'[/(?<=\\s).*/] => "is going to school"

這使用Ruby的積極lookbehind錨:

(?<= pat) - 正面的lookbehind斷言:確保前面的字符匹配pat,但不包括匹配文本中的那些字符

因此,模式會查找空格字符,后跟任意字符串。 由於重復(例如,“*”)是貪婪的,它選擇最長的匹配字符串。

使用正則表達式

str = "i am going to school"
puts str.gsub(/^(\w\s+)(.*)/, '\2')

=> "am going to school"

為每個字符串執行此操作:

string.sub(/\s*[\w']+\s+/, "")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM