我正在尋找兩個Regex(或Ruby中的任何更好的方法),它將從一個字串中給我特定的詞。
我擁有的字串是:
<string name="animal">dog</string>
我想從字串中取出"animal"和"dog",所以我需要為每個詞撰寫兩個腳本。我已經研究了現有的選項,但找不到更好的解決方案。如果有任何幫助,我將非常感激。
uj5u.com熱心網友回復:
它看起來像XML,所以XML決議器將是處理它的首選方式。使用哪種決議器取決于你的具體要求和環境(也許你的Gemfile中已經有nokogiri?下面是如何使用@roo建議的ox進行處理:
string = '<string name="animal">dog</string> '
parsed = Ox.parse(string)
parsed[:name] #=> "animal"
parsed.text #=> "dog"
如果你真的因為某些原因想用一個重詞(其實不建議,而且真的很脆弱),你可以使用多個捕獲組:
regex = /A<string [^>]*name="([^"] )" [^>]*> ([^<]*)</string> z/
_, name, value = regex.match(str)
name #=> "animal"
value #=> "dog"。
注意,這個詞組是非常脆弱的,如果xml結構發生變化,它就會默默地停止作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/307021.html
標籤:
上一篇:Nginx如何在請求非消化的favicon.ico時提供消化的favicon檔案
下一篇:Sidekiq得到ActiveRecord::ConnectionTimeoutError:無法從池中獲得一個連接
