2016-12-28 37 views
-2

擺脫「點」的我想這句話結束後襬脫「點」或與空間e.g 'I like dogs.''I like dogs or i like dogs .'如何在Ruby中

移動點會這個代碼是正確的?

.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匹配字符串的結尾相匹配。

要替換所有的點在字符串中

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

感謝您的幫助, – Robi

+0

其實我需要將它應用到整個文本中,所以必須是gsub。那麼正確的將是.gsub(「。」,「。」)? – Robi

+0

測試你的方法有什麼問題?是的,要將此更改應用於整個文本,'gsub('。','。')'會很好。 – mudasobwa

1

如果你只是想在句末擺脫它的最rubyish方法是:

a = 'I like dogs.' 
p a.chomp('.') #=> "I like dogs" 
#modify a by using: 
a.chomp!('.')