2016-07-08 84 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! /.../, ''

相关问题