diff --git a/lib/string_tools.rb b/lib/string_tools.rb index 910c69e..76a9afb 100644 --- a/lib/string_tools.rb +++ b/lib/string_tools.rb @@ -106,6 +106,15 @@ def clear_control_characters(string) string.tr("\u0000-\u001f", '') end + # Public: вычищает устаревшие Unicode символы из строки + # + # string - String строка, из которой удаляем символы + # + # Returns String + def clear_deprecated_unicode_characters(string) + string.tr("\u2028-\u2029", '') + end + # Public: вычищает все html тэги и пробельные символы # # string - String строка для очистки diff --git a/spec/fixtures/lsps.txt b/spec/fixtures/lsps.txt new file mode 100644 index 0000000..b3f6788 --- /dev/null +++ b/spec/fixtures/lsps.txt @@ -0,0 +1 @@ +indi
ssoluble

stri
ng \ No newline at end of file diff --git a/spec/string_tools_spec.rb b/spec/string_tools_spec.rb index 5cfc47f..f6ea02d 100644 --- a/spec/string_tools_spec.rb +++ b/spec/string_tools_spec.rb @@ -45,6 +45,16 @@ end end + describe '#clear_deprecated_unicode_characters' do + subject(:clear_deprecated_unicode_characters) { described_class.clear_deprecated_unicode_characters(string) } + + context 'string with \u2029\u2029 symbols' do + let(:string) { File.open('spec/fixtures/lsps.txt', &:readline) } + + it { expect(clear_deprecated_unicode_characters).to eq('indissolublestring') } + end + end + describe '#strip_all_tags_and_entities' do subject(:strip_all_tags_and_entities) { described_class.strip_all_tags_and_entities(string) }