2016-12-28 5 views
-2

の「ドット」を取り除くために、私は文の終わりの後に「ドット」を取り除きたいかスペースでドットを移動例えば'I like dogs.'はどのようにRubyの

'I like dogs or i like dogs .'に、このコードは正しいでしょうか?

.gsub(".", " ") 

ありがとうございました。

+0

てみ ' "私は犬が好きです。" [0 ..- 2] ' – 31piy

答えて

1

私はあなたがドットを更新したいと仮定し、それが文全体の後ろにあるだけです。 gsubのアプローチは、ここのようには動作しません。なぜなら、どこにいてもドットの外観をすべて置き換えるからです。

正規表現とはいえ、どうなる:

input = 'I like dogs.' 
input.sub(/\.\z/, '') #⇒ to get rid of it 
input.sub(/\.\z/, ' .') #⇒ to insert a space before it 

\zマッチャは、ここで、文字列の末尾にマッチします。あなただけの文の最後にそれを取り除くしたい場合は、ほとんどのrubyish方法は次のようになり

input.delete('.') #⇒ to get rid of it 
input.gsub('.', ' .') #⇒ to insert a space 
+0

助けてくれてありがとう、 – Robi

+0

実際にはテキスト全体に適用する必要があるので、gsubにする必要があります。正解は.gsub( "。"、 "。")ですか? – Robi

+0

あなたのアプローチの_テストでは何が問題ですか?はい、この変更をテキスト全体に適用するには、 'gsub( '。'、 '。')'が適切でしょう。 – mudasobwa

1

:文字列中のすべてのドットを代替する

a = 'I like dogs.' 
p a.chomp('.') #=> "I like dogs" 
#modify a by using: 
a.chomp!('.') 
関連する問題