我有一个包含字符串的数组。每个字符串如下所示:
Debit Card Purchase 06/14 06:09p #1936 UIC CAMPUS PRKG ADMIN CHICAGO IL 16168
我想删除所有之前"#"字符以仅保留UIC CAMPUS PRKG ADMIN CHICAGO IL 16168作为名称。如何使用正则表达式脚本在rails中执行此操作?
如果我可以,我想获得UIC CAMPUS PRKG ADMIN但不确定如何区分这部分但不确定是否可能。寻找有关这方面的建议。
答案 0 :(得分:1)
str = "Debit Card .... PRKG ADMIN CHICAGO IL 16168"
您可以通过
提取第二部分 str = str.sub(/.*#\d+\s*/, '') = "UIC CAMPUS PRKG ADMIN CHICAGO IL 16168"
或者你可以在字符串上使用split
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"
答案 1 :(得分:0)
也许是这样的?
# (s = 'Debit ... IL 16168')
s.sub /.*#\d+ /, '' # => "UIC CAMPUS PRKG ADMIN CHICAGO IL 16168"
然后,您可以将其分配给另一个变量或使用s.sub! /.../, ''