2016-07-08 86 views
0

我有一個包含字符串的數組。每個字符串看起來是這樣的:查找並替換之前的所有字符#

Debit Card Purchase 06/14 06:09p #1936 UIC CAMPUS PRKG ADMIN CHICAGO IL 16168 

我想前面的「#」字符去掉,以僅保留UIC校園PRKG ADMIN芝加哥,伊利諾伊州16168作爲名稱的所有。我如何使用正則表達式腳本在rails中執行此操作?

如果我可以,我想只是得到UIC校園PRKG管理,但不知道我怎麼能區分這部分,但不知道如果它是可能的。尋找建議也是如此。

回答

1

str = "Debit Card .... PRKG ADMIN CHICAGO IL 16168"

您可以通過

str = str.sub(/.*#\d+\s*/, '') = "UIC CAMPUS PRKG ADMIN CHICAGO IL 16168"

提取第二部分或者,您也可以在使用分體式字符串

str = str.split(/#\d+\s*/).last = "UIC CAMPUS PRKG ADMIN CHICAGO IL 16168"

然後去除城市,州和郵編

str = str.sub(/(\s*\w+\s*){2}\d+$/,'') = "UIC CAMPUS PRKG ADMIN"

0

也許這樣?

# (s = 'Debit ... IL 16168') 
s.sub /.*#\d+ /, '' # => "UIC CAMPUS PRKG ADMIN CHICAGO IL 16168" 

你會然後分配給另一個變量或使用s.sub! /.../, ''

相關問題