如何在出现某个符号后截断一串文字,例如#符号?例如,我想改变这个:
1234 Ocean Drive #PH 2
为:
1234 Ocean Drive
我发现地址中的公寓号码总是以井号标出,可能会让地理编码器混淆,所以我想删除self.address
时签名后出现的所有文字。告诉geocoder gem在以下情况下使用什么地址:
property.rb
class Property < ActiveRecord::Base
geocoded_by :full_address
def full_address
"#{self.address}, #{self.city}, #{self.state} #{self.zip}"
end
(不要对上面代码中的英镑符号感到困惑,我不是指它们,我的意思是出现在文本字符串中的英镑符号self.address
答案 0 :(得分:4)
str = "1234 Ocean Drive #PH 2"
str.split('#')[0]
str.slice(0..(s.index('#')-1))
str.slice(/.*#/).chop()
str[/[^#]+/]
答案 1 :(得分:0)
以下是示例字符串的基本工作正则表达式:(^.*)#.*$
这样的事情会让你上半场:
address = 1234 Ocean Drive #PH 2
truncatedaddress = address.match(/(^.*)#.*/i).captures
将它放在你的self.address方法中,并记住处理切掉任何尾随空格。