Class: PragmaticSegmenter::Languages::Deutsch::Number

Inherits:
Number
  • Object
show all
Defined in:
lib/pragmatic_segmenter/languages/deutsch.rb

Constant Summary collapse

NumberPeriodSpaceRule =
Rule.new(/(?<=\s[0-9]|\s([1-9][0-9]))\.(?=\s)/, '')
NegativeNumberPeriodSpaceRule =
Rule.new(/(?<=-[0-9]|-([1-9][0-9]))\.(?=\s)/, '')
DE_MONTHS =
['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']

Constants inherited from Number

Number::NewLineNumberPeriodSpaceLetterRule, Number::NumberAfterPeriodBeforeLetterRule, Number::PeriodBeforeNumberRule, Number::StartLineNumberPeriodRule, Number::StartLineTwoDigitNumberPeriodRule

Instance Attribute Summary

Attributes inherited from Number

#text

Instance Method Summary collapse

Methods inherited from Number

#initialize

Constructor Details

This class inherits a constructor from PragmaticSegmenter::Number

Instance Method Details

#replaceObject



37
38
39
40
41
# File 'lib/pragmatic_segmenter/languages/deutsch.rb', line 37

def replace
  super
  @text.apply(NumberPeriodSpaceRule).apply(NegativeNumberPeriodSpaceRule)
  replace_period_in_deutsch_dates(@text)
end

#replace_period_in_deutsch_dates(txt) ⇒ Object



43
44
45
46
47
48
49
# File 'lib/pragmatic_segmenter/languages/deutsch.rb', line 43

def replace_period_in_deutsch_dates(txt)
  DE_MONTHS.each do |month|
    # Rubular: http://rubular.com/r/zlqgj7G5dA
    txt.gsub!(/(?<=\d)\.(?=\s*#{Regexp.escape(month)})/, '')
  end
  txt
end