class_docstr: Replace J/V with I/U.
  Latin alphabet does not distinguish between J/j and I/i and V/v and U/u;
  Yet, many texts bear the influence of later editors and the predilections of other languages.
  
  In practical terms, the JV substitution is recommended on all Latin text preprocessing; it
  helps to collapse the search space.
  
  >>> replacer = JVReplacer()
  >>> replacer.replace("Julius Caesar")
  'Iulius Caesar'
  
  >>> replacer.replace("In vino veritas.")
  'In uino ueritas.'
class_docstr_tok: ["Replace","J\/V","with","I\/U",".","Latin","alphabet","does","not","distinguish","between","J\/j","and","I\/i","and","V\/v","and","U\/u",";","Yet",",","many","texts","bear","the","influence","of","later","editors","and","the","predilections","of","other","languages",".","In","practical","terms",",","the","JV","substitution","is","recommended","on","all","Latin","text","preprocessing",";","it","helps","to","collapse","the","search","space",".",">",">",">","replacer","=","JVReplacer","(",")",">",">",">","replacer.replace","(","``","Julius","Caesar","''",")","'Iulius","Caesar'",">",">",">","replacer.replace","(","``","In","vino","veritas",".","''",")","'In","uino","ueritas",".","'"]
docstr: Do j/v replacement
docstr_tok: ["Do","j\/v","replacement"]
code: def replace(self, text):
      """Do j/v replacement"""
      for pattern, repl in self.patterns:
          text = re.subn(pattern, repl, text)[0]
      return text
  
imports: import re
  from typing import Dict
  from cltk.alphabet.text_normalization import cltk_normalize, remove_odd_punct, split_leading_punct, split_trailing_punct
label_desc: Use image node_id 2 for calling the JVReplacer obj's underlying member method code with example usage: obj.replace(text) and returns: text