作為 Ruby 的初學者,如何從 Ruby 中的字串中提取子字串?
例子:
string1 = "1.1.67.01-f9@92a47088f49d095f0"
我想從開頭提取子字串到'-'。所以子字串是'1.1.67.01'
uj5u.com熱心網友回復:
如果您可以保證第一個-出現在您想要的子字串之后,那么Ruby 的字串拆分方法就是一個很好的選擇。這看起來像:
string1.split(‘-‘)[0]
uj5u.com熱心網友回復:
這個使用第一個索引對-字串進行切片(0 是字串的開頭):
substring = string1[0, string1.index("-")]
uj5u.com熱心網友回復:
正則運算式的一種方式
outcome = string1.match(/^(.*)\-/) { $1 }
puts outcome if outcome
=> "1.1.67.01"
uj5u.com熱心網友回復:
聽起來像是一個快速而骯臟的正則運算式的作業。
string1 = "1.1.67.01-f9@92a47088f49d095f0"
/^([^-]*)-/ =~ string1
puts $1
讓我們分解正則運算式
/^([^-]*)-/
是正/則運算式的引號,有點像"字串。在正則運算式中,^標記字串的開頭并且-是一個文字破折號(在這種情況下終止我們的匹配)。然后我們有一個捕獲組(...),它表明這是我們真正感興趣的匹配部分。在內部,我們匹配任何不是破折號([^-])的字符,重復零次或多次(*)。
成功匹配后,我們列印第一個(在我們的例子中是唯一的)捕獲組$1。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/526197.html
標籤:红宝石细绳子串
