我節省了許多與params[:number].gsub(/\D/,'')
,但我不想要去除的加號:+
GSUB數字和+
例如,如果一個用戶保存數+1 (516) 949-9508
其保存爲15169499508
但如何才能保存+
as +15169499508
?
我節省了許多與params[:number].gsub(/\D/,'')
,但我不想要去除的加號:+
GSUB數字和+
例如,如果一個用戶保存數+1 (516) 949-9508
其保存爲15169499508
但如何才能保存+
as +15169499508
?
如果你沒有任何語法規則,delete
會工作得很好:
'+1 (516) 949-9508'.delete('^0-9+') #=> "+15169499508"
我明白你只想保持一個加只在開始字符串。您需要使用:
.gsub(/\A(\+)|\D+/, '\1')
這裏,\A(\+)
分支相匹配的文字加在字符串的開始。第二個分支是您的\D
,它匹配所有字符,但匹配數字,僅匹配+
量詞,匹配1個或多個匹配項。 \1
反向引用會在結果字符串中恢復該初始加號。
就我所知,你只想在字符串的開頭保留一個加號?如果你更喜歡別名,使用'.gsub(/ ^(\ +)| \ D + /,'\ 1')' –