亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ruby里grep問題

ruby里grep問題

幕布斯6054654 2019-05-14 09:08:31
result.include?("#{key_word}")這個是在result變量里查找是否包含#{key_word}問題:result變量里是否包含以#{key_word}開頭的該怎么寫啊不好意思,沒有說清楚,result是個sqlplus執行的結果,檢索以(^ORA-)開頭或者包含(SP2-).或者說是“如果sqlplus的執行結果put到一個a.log文件里,result的內容就是cat a.log”一樓的試了不行,因為不是單個字符串所以只試了二樓的數組那樣的,好像也不行?!,F在已經實現了,不過我用的是比較笨的方法:f = File.new( "#{ora_perfstat_tmp}" , "w" )f.puts resultf.close()fn = IO.readlines("#{ora_perfstat_tmp}")size = fn.grep(/#{key_word_ora}/).size + fn.grep(/#{key_word_sp2}/).sizeif ( size > 0 ) thenstatus = 3raise( MyError,"。。。。。。" )end其中result是sqlplus的執行結果,key_word_ora是“^ORA-”,key_word_sp2是“SP2-”
查看完整描述

3 回答

?
largeQ

TA貢獻2039條經驗 獲得超8個贊

通過判斷result.index("#{key_word}")==0來達到效果。
result.index("#{key_word}")返回key_word在result中出現的位置。如果是0則說明在開頭出現,如果沒有則是nil

查看完整回答
反對 回復 2019-05-15
?
Helenr

TA貢獻1780條經驗 獲得超4個贊

需要用到正則表達式,如下:
result = "abcd123"
#result = "123abcd"
key_word = "abcd"
if result.match(/^#{key_word}/)
puts "yes"
else
puts "no"
end


 




查看完整回答
反對 回復 2019-05-15
  • 3 回答
  • 0 關注
  • 581 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號