1

文字列内の複数文字を絞る最良の方法は何ですか?

Example:
hahahahahaha => ha
lalalala => la
awdawdawdawd => awd

str.squeeze("ha")  # doesn't work
str.tr("haha", "ha") # doesn't work 
4

2 に答える 2

3
def squeeze(s)
  s.gsub(/(.+?)\1+/, '\1')
end

puts squeeze('hahahaha')                  # => 'ha'
puts squeeze('awdawdawd')                 # => 'awd'
puts squeeze('hahahaha something else')   # => 'ha something else'
于 2013-01-24T10:07:25.733 に答える
3

正規表現ベースの検索と置換を使用できます。

str.gsub(/(ha)+/, 'ha')
于 2013-01-24T09:46:52.560 に答える