-1

たとえば、入力を受け取るAPIがあります。

@message.to = params[:to]

理想的には"256773485930"、電話番号などの入力を送信する必要があります。ただし、一部のユーザーは次のような番号を送信することを好みます"+256773485930"

使ってみ@message.to = params[:to].gsub("+", "")ましたが、このような入力を作成します

" 256773485930"

新しい文字列にスペースを追加します。+文字列の前にスペースを追加せずにそこにある場合を削除するにはどうすればよいですか?

4

3 に答える 3

1

動作するgsubはずですが、おそらく入力文字列の前にもスペースがあるため、これを行うparams[:to].strip.gsub("+", "")と文字列の前後のスペースを削除できます。

数字だけを保持したい場合は、より堅牢ですparams[:to].gsub(/[^\d]/,"")

于 2013-10-20T08:53:28.783 に答える
0

String#[]で使用できますRegexp

aRegexpが指定されている場合、文字列の一致部分が返されます。

例:

"+256773485930"[/\d+/] #=> "256773485930"
于 2013-10-20T08:56:03.710 に答える